文件I/O行尾

File I/O end of line

本文关键字:行尾 文件      更新时间:2023-10-16

我正试图将文件中的文本读取到数组中,然后将每个数组索引的内容输出到输出文件中。我需要读取/存储数据,直到它到达行的末尾,在这一点上,它应该重新开始读取/存储,并重新使用数组作为临时存储,只输出到输出文件。

我不能使用getline函数,因为我的想法是,稍后我将使用一些模型类来存储单个单词作为类的成员变量。我需要将单词分开,以了解哪些单词将被保存为哪些变量。出于这个原因,我需要能够识别相应的索引位置并获取其内容。

我知道我的语法不正确,所以我希望有人知道识别行尾的正确语法。

这就是我迄今为止所尝试的:

ifstream fin;
//open file... 
char next[20]; //creating an word array to hold the characters of a word.      
fin >> next;
while (!fin == 'n')   //<------ THIS IS WHAT I THINK THE PROBLEM IS.
                   //I KNOW ITS INCORRECT BUT DO NOT KNOW THE CORRECT WAY.
{                      
  //input words, store to array, and output to file
  fin >> next;
}

您应该使用std::string而不是char数组来处理任何大小的字。流还具有到void*(C++11或更高版本中的bool)的隐式转换,以测试流是否仍然有效。

std::ifstream fin(filename);
std::string word;
while(fin >> word) {
    //do something with word
}