C++ 文件操作
来源:互联网 发布:c语言界面设计 编辑:程序博客网 时间:2024/05/18 02:29
FILE *fp;fp = fopen("文件名","打开方式-- w/r/rb/wb..");格式:fputc( 字节变量,文件类型指针 );格式:字节变量=fgetc( 文件类型指针 );格式:fputs/fgets( 字符串地址,字符串长度,文件类型指针 );格式:fread/fwrite( 数据地址, 数据长度,数据项,文件类型指针 );
操作:
1. char ch = fgetc(fp); //从文件中读取1个字节给ch
2. fputc(ch, fp); //将ch(单字节)值写入文件
3. fgets(str,5,fp); //从文件中读取字符串(5个字符)给str
||
fread( str, 5, 1, fp );
4.fputs( str, 5, fp ); //将str字符串(5个字符)写入文件
||
fwrite( str, 5, 1, fp );
5.fread( var, sizeof(var[0]), 5, fp ); //从文件中读取5个指定字节长度数据给指定类型变量数组var
fwrite( var, sizeof(var[0]), 5, fp ); //将指定类型变量数组var的前5个元素写入文件
fclose(*fp);
例子:
// 读取txt文件,文件内容:首行为年份,年份对应的列值为大小在1-50
//以内的数字,行数为200以内,列数为50以内。要求统计每个年份中每
//个值出现的次数
int main(){ifstream fs("aaa.txt"); if (!fs.is_open()) { cout << "Error in open file!" << endl; return -1; } int iyear[50];int inum[200][100]={0};int inum1[100][200]={0};string sbuff[201];int i=0;//while读取文件内容并保存到sbuff中while (!fs.eof()) { getline(fs, sbuff[i],'\n'); i++;}fs.clear();fs.close();for(int j=0;j<i;j++){ if (j == 0) //读取第一行年份并保存 { string str = sbuff[j]; for (int i=0;i<100;i++) { int pos = str.find("\t"); string snum = str.substr(0,pos); int num = atoi(snum.data()); iyear[i] = num; str.erase(0,pos+1); } } else //从第二行开始读取数字 { string str1 = sbuff[j]; for (int i=0;i<100;i++) { int pos = str1.find("\t"); string snum = str1.substr(0,pos); int num = atoi(snum.data()); inum[j-1][i] =num; //用二维数组存j行的所有数字 str1.erase(0,pos+1); } } } //iyear[]存的是年份,inum[]存的是从第二行开始的所有行的数字// for (int i=1;i<200;i++)// {// for (int j=0;j<44;j++)// {// printf("%d ", inum[i][j]);// }// }// int staticnum[200]={0};// for (int i=0;i<45;i++)// {// int temp = inum[0][i];// staticnum[temp-1] +=1;// printf("%d \n",inum[0][i]); //第一行// }int staticnum[45]={0};for (int i=0;i<200;i++){ int temp = inum[i][0]; staticnum[temp-1] +=1; //printf("%d \n",inum[i][0]); //第一列}for (int i=0;i<45;i++){ printf("1976年中的%d 出现的次数为%d \n",i+1,staticnum[i]);}system( "PAUSE ");return 0;}
0 0
- [C/C++]文件操作
- 文件操作--C 函数操作
- c文件操作
- C文件操作
- C的文件操作
- c语言文件操作
- C的文件操作
- 标准C文件操作
- C#文件操作
- C的文件操作
- C语言文件操作
- C语言文件操作
- C文件操作探索
- [C++]文件读写操作
- C/C++文件操作
- C文件操作
- C语言文件操作
- c文件操作
- openvpn通过ldap或ad统一认证解决方案思路分享
- 学习淘淘商城第三十七课(中文分析器IK-Analyzer的使用)
- 第七章 类
- mysql--查看版本
- Effective Java系列读后感(三)-类和接口
- C++ 文件操作
- eclipse 常用快捷键整理
- WiFi、ZigBee、BLE用哪个?小米内部是这样选的
- 重载运算符
- 堆栈是什么意思?
- memcached-2-理解memcached的内存存储
- 字符串判断空
- 自定义字符分割函数
- less应用