读取TXT文件并处理其中的数据 用C++实现
比如文件中内容:122536251236122533454878956925253615369814111898362514668921这是六行数据,我想用getline...
比如文件中内容:
12 25 36 25 12
36 12 25 33 45
48 78 95 69 25
25 36 15 36 98
14 11 18 98 36
25 14 66 89 21
这是六行数据,我想用getline()和vector读取,如何每读取两行就添加一个小标题,输出如下:
一:
12 25 36 25 12
36 12 25 33 45
二:
48 78 95 69 25
25 36 15 36 98
三:
14 11 18 98 36
25 14 66 89 21
求各位给方法。谢谢 展开
12 25 36 25 12
36 12 25 33 45
48 78 95 69 25
25 36 15 36 98
14 11 18 98 36
25 14 66 89 21
这是六行数据,我想用getline()和vector读取,如何每读取两行就添加一个小标题,输出如下:
一:
12 25 36 25 12
36 12 25 33 45
二:
48 78 95 69 25
25 36 15 36 98
三:
14 11 18 98 36
25 14 66 89 21
求各位给方法。谢谢 展开
2个回答
2011-09-23
展开全部
时间紧,个人也比较菜,所以比较低效也比较乱,见谅!!!
已在Win7下VS2010编译通过!!!
#include<iostream>
#include<vector>
#include<string>
#include<fstream>
using namespace std;
ifstream& openFile(ifstream& in, const string& fileName)
{
in.close();
in.clear();
in.open(fileName.c_str());
return in;
}
int main()
{
string fileName, str1, str2, str3;
int val1, val2, val3, val4, val5, val6, val7, val8;
cout << "请输入要打开的文件名" << endl;
cin >> fileName;
cin.clear();
ifstream fread;
if (openFile(fread, fileName))
{
while (fread >> str1 >> str2 >> str3 >> val1 >>val2 >> val3 >> val4 >> val5 >> val6 >> val7 >> val8)
{
cout << str1 << "\t" << str2 << "\t" << str3 << "\t" << "学生平均分成绩:\t" << (val1 + val2 + val3 + val4 + val5 + val6 + val7 + val8) / 8 << endl;
}
return 0;
}
else
{
cout << "文件 " << fileName << " 打开失败!" << endl;
return -1;
}
}
已在Win7下VS2010编译通过!!!
#include<iostream>
#include<vector>
#include<string>
#include<fstream>
using namespace std;
ifstream& openFile(ifstream& in, const string& fileName)
{
in.close();
in.clear();
in.open(fileName.c_str());
return in;
}
int main()
{
string fileName, str1, str2, str3;
int val1, val2, val3, val4, val5, val6, val7, val8;
cout << "请输入要打开的文件名" << endl;
cin >> fileName;
cin.clear();
ifstream fread;
if (openFile(fread, fileName))
{
while (fread >> str1 >> str2 >> str3 >> val1 >>val2 >> val3 >> val4 >> val5 >> val6 >> val7 >> val8)
{
cout << str1 << "\t" << str2 << "\t" << str3 << "\t" << "学生平均分成绩:\t" << (val1 + val2 + val3 + val4 + val5 + val6 + val7 + val8) / 8 << endl;
}
return 0;
}
else
{
cout << "文件 " << fileName << " 打开失败!" << endl;
return -1;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询