问题及代码:
/*
*Copyright (c)2015,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称: 小玩文件 .cpp
*作 者:白云飞
*完成日期:2015年6月4日
*版 本 号:v1.0
*
*问题描述:统计文本文件abc.txt中的字符个数
*程序输入:字符
*程序输出:文本文件abc.txt中的字符个数
*/
#include <iostream>
#include <cstdlib>
#include <fstream>
using namespace std;
int main()
{
fstream file;
file.open("abc.txt",ios::in);
if(!file) {
cout<<"abc.txt can’t open."<<endl;
exit(1);
}
char ch;
int i=0;
while( !file.eof())
{
file.get(ch);
++i;
}
cout<<"Character: "<<i<<endl;
file.close();
return 0;
}
运行结果:
问题及代码:
/*
*Copyright (c)2015,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称: 小玩文件 .cpp
*作 者:白云飞
*完成日期:2015年6月4日
*版 本 号:v1.0
*
*问题描述:将文本文件abc.txt中的所有行加上行号后写到newabc.txt文件中
*程序输入:字符
*程序输出:将文本文件abc.txt中的所有行加上行号后写到newabc.txt文件中
*/
#include <iostream>
#include <cstdlib>
#include <fstream>
using namespace std;
int main()
{
fstream outfile,infile;
infile.open("abc.txt",ios::in);
if(!infile) {
cout<<"Can’t open the file."<<endl;
abort();
}
outfile.open("newabc.txt",ios::out);
if(!outfile) {
cout<<"Can’t open the file."<<endl;
abort();
}
char buf[80];
int i=1;
while(!infile.eof())
{
infile.getline(buf, 80);
outfile<<i++<<": "<<buf<<endl;
}
infile.close();
outfile.close();
return 0;
}
运行结果:
问题及代码:
/*
*Copyright (c)2015,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称: 小玩文件 .cpp
*作 者:白云飞
*完成日期:2015年6月4日
*版 本 号:v1.0
*
*问题描述:统计输出文件中每个字母、数字字符出现的次数
*程序输入:字母、数字字符
*程序输出:每个字母、数字字符出现的次数
*/
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <cstring>
using namespace std;
int main()
{
fstream file;
file.open("abc.txt",ios::in);
if(!file)
{
cout<<"abc.txt can’t open."<<endl;
exit(1);
}
char ch;
int freq[256];
int i;
for (i=0; i<256; i++) freq[i]=0;
while( !file.eof())
{
ch=file.get();
freq[ch]++;
cout<<ch;
}
cout<<endl;
for (i='0'; i<='9'; i++) cout<<(char)i <<" : " <<freq[i] <<endl; //数字
for (i='a'; i<='z'; i++) cout<<(char)i <<" : " <<freq[i] <<endl; //小写字母
for (i='A'; i<='Z'; i++) cout<<(char)i <<" : " <<freq[i] <<endl; //大写字母
file.close();
return 0;
}
运行结果:
学习心得:
掌握打开文件,读取文件中数据,向文件中写入数据的方法,主要是infile和outfile函数的运用。