小编And*_*der的帖子

如果没有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;
}
Run Code Online (Sandbox Code Playgroud)

样本输入:

2 x y
( \wedge x ( \not y ) )
Run Code Online (Sandbox Code Playgroud)

输出来自:

 ( …
Run Code Online (Sandbox Code Playgroud)

c++ printf cout char ifstream

2
推荐指数
1
解决办法
4532
查看次数

标签 统计

c++ ×1

char ×1

cout ×1

ifstream ×1

printf ×1