关于从文本文件中阅读详细信息,我有一个问题。
在我的文本文件中,我有以下信息:
Employee Name: XXXXXX
Address: XXXXXXXXXX
Phone Number: XXXXXX
Employee Name: XXXXXXXX
Address: XXXXXXXX
Phone Number: XXXXXX
如何以正确的格式将所有内容输出到控制台?
我的代码是:
ifstream inEmpFile;
inEmpFile.open("emp.txt");
string file_contents;
while(inEmpFile >> file_contents)
{
cout << file_contents << ' ';
}
inEmpFile.close();
inEmpFile.clear();
我得到的只是一大块文本,是的,内容是正确的,但是所有内容都以正确的格式连接在一起。我该怎么做?提前致谢
答案 0 :(得分:1)
使用getline()分别读取每一行:
while (getline(inEmpFile,file_contents))
{
cout << file_contents << ' '<<endl;
}
答案 1 :(得分:0)
使用getline将文件中的行添加到字符串中。 使用cout打印字符串并按新行字符跟随它。 对循环中文件中的每个字符串执行此操作。
答案 2 :(得分:0)
使用>>
忽略所有空格。可以通过以下方式复制整个文件:
ifstream inEmpFile;
inEmpFile.open("emp.txt");
std::cout << inEmpFile.rdbuf(); // no loop needed
这是有效的,因为<<
std::streambuf*
的{{1}}特殊超载,由rdbuf()
返回。
请参阅(2)流缓冲区 std::ostream::operator<<()