已知文件 a.txt 存储若干文本数据,编程统计 a.txt 文件的行数、大写字母个数、小写字母个数、数字字符个数及其他字符的个数。要求如下:
① 定义 countFile()函数:统计文本文件的行数、大写字母个数、小写字母个数、数字字符个数及其他字符的个数。
② 定义 main()函数:打开 a.txt 文件,调用 countFile()函数统计文本文件的行数、大写字母个数、小写字母个数、数字字符个数及其他字符的个数,输出统计结果
已知文件 a.txt 存储若干文本数据,编程统计 a.txt 文件的行数、大写字母个数、小写字母个数、数字字符个数及其他字符的个数。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- IT_阿水 2022-04-10 22:30关注
#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> void counFile(const char *buff); int main() { FILE *fp=fopen("a.txt","rb"); if(fp==NULL) { return 0; } /*获取文件状态信息*/ struct stat statbuf; stat("a.txt", &statbuf); char *data=malloc(statbuf.st_size);//动态分配空间,用来存储读取的文件内容 fread(data,statbuf.st_size,1,fp);//读取文件内容 fclose(fp);//关闭文件 counFile(data);//统计文件信息 free(data);//释放空间 } void counFile(const char *buff) { int line=0,count_A=0,count_a=0,count_number=0,count=0; while(*buff) { if(*buff>='a' && *buff<='z') { count_a++; } else if(*buff>='A' && *buff>='Z') { count_A++; } else if(*buff>='0' && *buff<='9') { count_number++; } else if(*buff=='\n') { line++; count++; } else { count++; } buff++; } printf("行数:%d\n",line); printf("大写字母:%d\n",count_A); printf("小写字母:%d\n",count_a); printf("数字:%d\n",count_number); printf("其它字符:%d\n",count); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作