【原创】C语言处理文件数据(2)
2014-11-01 22:48
169 查看
【原创】C语言处理文件数据(2)
今天又帮同学处理了数据,再做个记录。
数据文件总共800行,部分原数据格式:
13 289:1 88:3 107:1 50:2 199:1 68:2 64:1 95:6 244:1 118:1 122:2 256:1 228:1 11 289:2 88:1 50:1 193:1 256:1 20:2 24:1 228:1 140:2 169:1 93:3 15 289:1 107:1 157:1 64:1 204:1 244:1 231:5 183:1 101:1 118:1 122:1 256:1 228:1 7 158:1 68:3 234:2 86:1 144:2 20:1 228:1 5 289:1 234:1 102:1 20:1 228:1 2 68:1 234:1 6 289:2 64:1 293:1 256:1 20:2 228:1 10 197:2 147:1 289:1 107:2 21:1 213:1 118:1 20:1 228:1 191:1 15 289:2 88:2 68:1 64:1 95:1 204:1 231:3 277:1 59:1 267:1 256:1 20:2 24:1 228:1 93:2
要求:将每行数据行首的数字全部相加,得到他们的总和,然后输出。按照上面的数据即输出:sum = 84.
示例代码:
/************************************************************************* > File Name: datasum.c > Author: Geng > Mail: genglut@163.com > Created Time: Sat 01 Nov 2014 08:16:46 PM CST ************************************************************************/ #include<stdio.h> #include<stdlib.h> int main(void) { FILE *filesrc, *filedest; char ch;//接收从源文件读到的字符 char a[3] = {'\0'};//用来存储每行开始的数据,因为最多是两位数,所以定义3个元素就够用。 int temp;//临时存储字符转换后的数据 long sum = 0;//存储每行开始数字的总和 if((filesrc = fopen("data.txt", "r")) == NULL)//打开文件 { perror("fopen"); exit(EXIT_FAILURE); } while(!feof(filesrc))//判断是否读到文件末尾 { ch = fgetc(filesrc);//读每行的第一个字符,肯定是数字字符 a[0] = ch;//将第一个字符存储到a【0】中 ch = fgetc(filesrc);//读每行的第二个字符,可能是数字字符,也可能是空格 if(ch == ' ')//当是空格时,什么都不做 { ; } else//当第二个字符是数字时,存储到a【1】中 { a[1] = ch; } temp = atoi(a);//利用atoi函数将字符转换为数字 sum = sum + temp;//求和 while ((ch = fgetc(filesrc)) != '\n')//判断是否读到了行末尾 { if(ch == EOF)//非常关键的一行代码!!!判断行的末尾字符是不是文件结束符EOF,如果没有这步判断,则无法跳出循环,即进入死循环。 break;//如果是EOF,则跳出while循环 continue;//如果不是EOF,则继续读下一个字符 } a[0] = '\0';//这两行作用是,将字符数组a清空,否则可能会把上一行的行首数据加到下一行,导致sum出错。 a[1] = '\0'; } printf("sum = %ld\n", sum);//打印出所有行首数据的总和 return 0; }
原文链接:http://blog.csdn.net/geng823/article/details/40687289
相关文章推荐
- 【原创】C语言处理文件数据(2)
- 【原创】C语言处理文件数据(5) 分类: Linux --- C 2015-04-23 15:02 40人阅读 评论(0) 收藏
- 【原创】C语言处理文件数据(3) 分类: Linux --- C 2014-11-04 10:13 74人阅读 评论(0) 收藏
- 【原创】C语言处理文件数据(4) 分类: Linux --- C 2014-11-06 11:15 87人阅读 评论(0) 收藏
- 【原创】C语言处理文件数据(1)
- 【原创】C语言处理文件数据(4)
- 【原创】C语言处理文件数据(5)
- 【原创】C语言处理文件数据(1)
- 【原创】C语言处理文件数据(3)
- 巩固C语言(十一)----文件的数据处理
- C语言处理文件中数据
- (原创)datagrid数据导出到excel文件给客户端下载的几种方法
- Oracle7.X 回滚表空间数据文件误删除处理方法
- Oracle7.X 回滚表空间数据文件误删除处理方法
- ORACLE 回滚段表空间数据文件丢失或损坏处理方法(2)
- [原创]VB程序 - 处理字符和文件名称的代码模块
- (原创)datagrid数据导出到excel文件给客户端下载的几种方法
- Oracle系统紧急故障处理(数据文件、日志文件以及表空间损坏的处理)
- 用JAVA处理文本与二进制数据混合大文件
- ORACLE 回滚段表空间数据文件丢失或损坏处理方法(1)