我正在打开一个文件,并从中获取行。 第一行应该说有多少变量,以及它们的名字是什么。 第二行应该是使用这些变量的逻辑方程。 这个任务是让它打印出一个变量和方程的真值表。字符串在C++中不打印没有新行字符
该程序正在采取的第一行不打印没有我插入一个新的行字符。我试图转换为一个字符串,并使用printf和cout。
表示输入主文件的所有内容:
#include "truthTable2.h"
int main(int argc, const char* argv[]){
ifstream inFile;
if(argc != 2){
cout << "Enter an input file name: ";
char *inFileName = "";
cin >> inFileName;
inFile.open(inFileName);
}
else
inFile.open(argv[1]);
TruthTable tTable;
while(!inFile.eof()){
char variableLine[256];
inFile.getline(variableLine, 256);
printf("%s ", variableLine);
string variable(variableLine);
tTable.setVariables(variable);
char formulaLine[256];
inFile.getline(formulaLine, 256);
cout << formulaLine << "\n";
string formula(formulaLine);
tTable.setFormula(formula);
tTable.printTable();
}
inFile.close();
return 0;
}
样品输入:从这个
2 x y
(\wedge x (\not y))
输出:
(\wedge x (\not y))
我认为无论是造成这是给我的整个问题其余的程序也是如此。在标记变量行之后,它不打印没有换行符,并且在计算公式时没有找到第二个变量。
printf和cout一起发现 – Chubsdad 2010-11-16 20:41:46
'while(!inFile.eof()){'< - No. No. No. – 2010-11-16 21:53:16
尝试读心术。重新阅读我的答案。 – 2010-11-17 03:02:54