从文本文件中读取数据

时间:2014-10-07 02:56:45

标签: c++ file

关于从文本文件中阅读详细信息,我有一个问题。

在我的文本文件中,我有以下信息:

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();

我得到的只是一大块文本,是的,内容是正确的,但是所有内容都以正确的格式连接在一起。我该怎么做?提前致谢

3 个答案:

答案 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<<()