从文本文件中读取数据
我有一个问题需要从文本文件中读取详细信息。从文本文件中读取数据
在我的文本文件,我有这方面的信息:
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();
我得到的文本块,是的内容是正确的,但一切都连接在一起,如不正确的格式。我该怎么做?在此先感谢
刚读每一行分别使用函数getline():
while (getline(inEmpFile,file_contents))
{
cout << file_contents << ' '<<endl;
}
使用getline从文件中获取行到字符串。 使用cout打印字符串并按照新行字符进行操作。 在循环中为文件中的每个字符串执行此操作。
你能给我举个例子吗?我还是新来的C++ – NewbieCoder 2014-10-07 03:09:15
@Yeen:我可以建议看看'ifstream'提供的所有函数[here](http://www.cplusplus.com/reference/fstream/ifstream/?kw=ifstream)吗?另外,在网上寻找例子应该很多。 – DoubleYou 2014-10-07 03:11:54
使用>>
忽略所有的空间。复制整个文件可以做到这样:
ifstream inEmpFile;
inEmpFile.open("emp.txt");
std::cout << inEmpFile.rdbuf(); // no loop needed
这工作,因为<<
为std::streambuf*
一个特殊的过载是由rdbuf()
返回的。
见(2)流缓冲std::ostream::operator<<()
什么是正确的格式? – Beta 2014-10-07 02:58:37
你应该看看逐行加载文件,然后执行你要查找的格式。 – DoubleYou 2014-10-07 02:59:40
上述人员名称:XXXXX \ n地址:XXXXXX。像那样。 – NewbieCoder 2014-10-07 02:59:44