【发布时间】:2014-04-30 02:03:02
【问题描述】:
我有一个循环问题,我想做的是逐行复制一个文件。 我使用了这段代码,但它在输出文件中多写了一个括号和一行。
void copyStringNewFile(ifstream& inData,ofstream& outData)
{
string x = "";
while (inData)
{
getline(inData, x);
outData << x << '\n';
}
}
也许我可以删除该行:
string x = "";
在while条件下我尝试了一些解决方案:
while (!inData.eof()) // Works similar to while (inData)
while (inData >> x) // Delete a lot of lines
非常感谢,如果你能解释一下 eof 在哪里有用(因为在循环中它似乎没用)。
【问题讨论】:
-
感谢所有我使用过的人:
outData << inData.rdbuf();最后一个问题,为什么如果我将 getline 函数置于 while 条件下,它将被执行而不仅仅是评估。再次感谢:D!
标签: c++ loops while-loop eof