时间紧,个人也比较菜,所以比较低效也比较乱,见谅!!!
已在Win7下VS2010编译通过!!!
#include
#include
#include
#include
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;
}
}
使用C++提供输入输出函数或Windows操作系统的文件读写函数获取文件数据。
C++的文件读写函数在C++语言图书中有介绍,
而Windows操作系统的文件读写函数包括
CreateFile()、ReadFile()、WriteFile()、CloseHandle()等
你可以通过关键字 Win32 API查找。
在读取TXT注意字符编码形式,GB1213、Unicode的UTF-8、UTF-16等
#include
#include
int main()
{
FILE* fp;
fp = fopen( "in.txt", "r" );
char buf[200];
;
int a,b,c,d,e,f,g,h;
char stu_no[20];
char interval1[50], interval2[50];
while( fgets( buf, sizeof(buf), fp ) )
{
sscanf( buf, "%s %s %s %d %d %d %d %d %d %d %d", stu_no, interval1, interval2,
&a, &b, &c, &d, &e, &f, &g, &h );
printf("stu_no:%s a:%d b:%d c:%d d:%d e:%d f:%d g:%d h:%d\n",
stu_no, a, b, c, d, e, f, g, h);
}
fclose(fp);
return 0;
}
运行过了,没问题
#include
//info.txt为TXT文件名
int main(int argc,char **argv)
{
freopen("info.txt","r",stdin);
char id[8],name[16],num[16];
int credits[8],temp;
while(scanf("%s %s %s",id,name,num)==3)
{
temp = 0;
for(int i=0;i<8;i++)
{
scanf("%d",&credits[i]);
temp += credits[i];
}
printf("学号:%s,平均分:%.1f\n",num,temp/8.0);
}
return 0;
}