从文本文件中显示一定数量的行

时间:2016-04-22 19:36:30

标签: c++

您好我正在尝试在文件中显示前10行文字。但是它只显示整个文件而不是将其限制为10行。

int count = 0;

string input = "";

fstream file;

file.open("Test.txt", ios::in);

for (int i = 0; i <= 10; ++i) {

    getline(file, input);

    cout << input; 
}

2 个答案:

答案 0 :(得分:1)

您的代码应该有效,但导致这种情况的原因可能是:

案例1:不要告诉我你的输入文件没有换行符并且被包装了。这将是愚蠢的 - .-

案例2:尝试添加cout << input << endl;,看看它是打印整个文件还是只是逐行打印文件

还打印11行,因此您可能希望将<=更改为<

答案 1 :(得分:0)

除了bisthebis的建议(我将其更改为打印&#39; ----&#39;),请检查文件的行结尾。 Mac使用&#39; \ r&#39 ;, Unix / Linux使用&#39; \ n&#39;和Windows使用&#39; \ r \ n&#39;。如果您使用的是Windows,则可以使用notepad ++来显示隐藏的字符。

另外,根据c ++规范(http://www.cplusplus.com/reference/string/string/getline/),getline仅考虑&#39; \ n&#39;作为新行分隔符。