使用C++的fstream读取有结构的字符串和数值混排的文本文件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
因为要经常接触字符串和数值混排的数据文本文件,所以,如何有效的读取这类文件成了我头痛的事,不过今日学习了日志[1],找到的解决方法,编程读写实例如下。
要读取的目标文件dat.txt内容如下:
zzz 8 10.0 2.5 2.55
llz 10 20.2 3.9 4.96
读写方法编程如下:
#include
#include
using namespace std;
void main()
{
ifstream fin;
char name[20];
int inum;
float fnum[3];
fin.open("dat.txt"); // 打开要读的文件
if (fin.good()) // 判断是否成功打开
{
while (!fin.eof())
{
fin >> name; // 读取字符串
fin >> inum; // 读取整数数值
for(int i = 0; i < 3; i++)
{
fin >> fnum[i]; // 循环读取浮点数
}
cout << name << ' ' << inum << ' ' << fnum[2] << endl; //显示检验结果的正确性
}
}
else
{
cout << "File can't open" << endl;
}
fin.close(); // 关闭文件
}
运行结果如下:
zzz 8 2.55
llz 10 4.96
Press any key to continue