读取文件.txt C



我应该如何从file.txt中读取space s并将其记录在我的vector中?我有一个由许多单词组成的行,但是我的循环看不到它,并以这种方式打印它们:

例如,我在文件中有一个字符串:

Hello, my friends,how are you?
Hello,James, we are fine.

在我的控制台中,我看到:

Hello,
my
friends
....
fine

这是我的循环:

while(rRecord»str)
{
    lines.push_back(str);
}

和我的单词的功能:

void printRecord(int& numStr,struct winsize w,std::vector<std::string>& lines)
{
for (int i = numStr; i < numStr + w.winsize::ws_row-1; i++)
{
   if (i>=lines.size())
   break;
   else
   std::cout « lines[i] « std::endl;
}
    numStr += w.winsize::ws_row;
}

要逐行读取行,使用 std::getline,如下:

std::string line;
while (std::getline(inFile, line)) {
    lineVector.push_back(std::move(line));
}

std::move表示vector创建新元素时,它可以从line"窃取"内部缓冲区,这意味着line现在将是一个空字符串,但保存了额外的分配 副本。


请注意,将getline>>混合通常不是一个好主意,因为>>将在流中留下任何落后的空间,包括newline,这意味着您下次尝试getline时获得意外结果。

。 。

相关内容

  • 没有找到相关文章

最新更新