我正在用c ++中读取这个文件,
ifstream file("book_inventory.txt");
string content;
int i=0;
while(file >> content) {
cout << content << ' ';
}
但它在一行显示所有输出而不显示任何新行。
答案 0 :(得分:2)
使用例如读取整行std::getline
然后使用std::istringstream
首先解析出这三个数字。然后它变得有点困难。如果名称(例如&#34; James Pilgrim&#34;)总是两个&#34;单词&#34;然后你可以使用普通输入操作符>>
来获取名称,然后再使用std::getline
来获取最后一部分。
如果名称可以是一个,两个或更多单词,那么实际上不可能说出人名何时结束且标题开始。
另一方面,如果您不想实际解析内容,只打印线条,则只需使用std::getline
逐行阅读,并记住打印换行符。
答案 1 :(得分:1)
您可以尝试使用以下代码按原样逐行读取文件,或者在代码中使用endl而不是''
ifstream myfile("book_inventory.txt");
string line;
if (myfile.is_open())
{
while (getline(myfile, line))
{
cout << line << '\n';
}
myfile.close();
}