使用特定格式从文件中读取

时间:2015-02-27 10:12:57

标签: c++ file

我有这个功能:

void readClauses( ){
  char c = cin.get();
  while (c == 'c') {
    while (c != '\n') c = cin.get();
    c = cin.get();
  }

  string ccc;
  cin >> ccc >> numVars >> numClauses;
  clauses.resize(numClauses);

  for (uint i = 0; i < numClauses; ++i) {
    int literals;
    while (cin >> literals and literals != 0) clauses[i].push_back(literals); 
  }
}

我想在此函数中执行相同的操作,而是将我想从txt文件中读取的文本数字化。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

创建ifstream的对象。

ifstream fin; //I named it fin, similar to cin

现在打开要从

输入的文件
string file="input.txt";
fin.open(file,ios::in);

其中file是文件的名称。该文件必须存在于c ++文件的输出目录中,否则您需要提供完整路径。现在替换所有&#34; cin&#34;与&#34; fin&#34;。请记住在您的文件中写下您的输入。最后关闭使用ifstream打开的文件。

fin.close();

现在您的代码如下所示:

void readClauses( ){
  char c = fin.get();
  while (c == 'c') {
    while (c != '\n') c = fin.get();
    c = fin.get();
  }

  string ccc;
  fin >> ccc >> numVars >> numClauses;
  clauses.resize(numClauses);

  for (uint i = 0; i < numClauses; ++i) {
    int literals;
    while (fin >> literals and literals != 0) clauses[i].push_back(literals); 
  }
}

不要忘记包含fstream文件:

#include<fstream>