课后习题:简单文件的相加
来源:互联网 发布:翻译软件哪个好 编辑:程序博客网 时间:2024/05/29 06:36
这两天还做了几件事:
1. 把我的排序敲了好几遍
准备近期在巩固一下,顺便研究一下排序在链表中的不同之处
2. 追加通讯录的保存到文件中的功能
由于就加了两个函数,这里我就不发了
3. 终于把陈正冲老师的《c语言深度解剖》看完了
说这话实在是吹牛了,这书看了大半月了,还有一两章没看,写在这,就是给自己下个誓,今天必须看完。
陈老师的书写的很深刻,有好多地方我都看不懂,奈何我另有课程,有些地方只能先放一放,以后再补。
4.课后习题:简单文件的相加
最后才回归到题目,这个题目还是很简单的,没什么实际用处,就是联系一下文件编译
我用了两个版本,先是fread 和 fwrite
/*2017年8月7日15:49:15目的 : 手动创建两个文本文件text1.txt,text2.txt,要求编程创建text3.txt,实现text1.txt和text2.txt文件中除去首行和末尾对应的数据相加,三个文本的内容如下text1.txt text2.txt text3.txtbeginbegin begin10 11 1215 16 17 25 27 2920 21 2225 26 27 45 47 4930 31 3235 36 37 65 67 69endend end*/#include <stdio.h>int main(){FILE * fp1 = fopen("text1.txt", "r");if(fp1 == NULL){perror("fopen fp1");return -1;}FILE * fp2 = fopen("text2.txt", "r");if(fp2 == NULL){perror("fopen fp2");return -1;}FILE * fp3 = fopen("text3.txt", "w+");if(fp3 == NULL){perror("fopen fp3");return -1;}char buf1[1] = {0};char buf2[1] = {0};char buf3[1] = {0};//char num_ch1[10]; //用来存放text1的数字//char num_ch2[10]; //用来存放text2的数字while(1){int a1 =fread(buf1,sizeof(char),1,fp1);if(a1 == 0){break;}int a2 =fread(buf2,sizeof(char),1,fp2);if(a2 == 0){break;}if(buf1[0] >= '0' && buf1[0] <= '9'){buf3[0] = buf1[0] + buf2[0] - '0';fwrite(buf3,sizeof(char),1,fp3);}else{buf3[0] = buf1[0];fwrite(buf3,sizeof(char),1,fp3);}}fclose(fp1);fclose(fp2);fclose(fp3);return 0;}
然后是fgetc fputc的
#include <stdio.h>int main(){FILE * fp1 = fopen("text1.txt", "r");if(fp1 == NULL){perror("fopen fp1");return -1;}FILE * fp2 = fopen("text2.txt", "r");if(fp2 == NULL){perror("fopen fp2");return -1;}FILE * fp3 = fopen("text3_2.txt", "w+");if(fp3 == NULL){perror("fopen fp3");return -1;}int ch1,ch2,ch3;while(ch1 = fgetc(fp1)){if (ch1 == EOF)break;ch2 = fgetc(fp2);if(ch1 >= '0' && ch1 <= '9'){ch3 = ch1 + ch2 -'0';fputc(ch3,fp3);}else {fputc(ch1,fp3);}}fclose(fp1);fclose(fp2);fclose(fp3);return 0;}
阅读全文
1 0
- 课后习题:简单文件的相加
- 可爱的python课后习题
- Python课后习题-第八章 读写文件
- 课后习题
- 课后习题
- 课后习题
- 鸟哥私房菜 第6章 Linux的文件权限与目录配置 课后习题
- c++的经典题型,课后习题
- 可爱的python课后习题(二)
- 可爱的python课后习题(三)
- if语句的嵌套 课后习题
- 周志华老师的《机器学习》课后习题
- 大数相加的简单实现
- 计算机基础知识----课后习题
- 网络课后习题
- 课后习题答案
- 计算机网络课后习题
- 课后习题 5_5
- windows 结构化异常
- leetcode--Word Ladder
- css3部分学习笔记
- 把一个矩形变成圆角矩形
- leetcode--Sum Root to Leaf Numbers
- 课后习题:简单文件的相加
- alertover推送api的java httpclient实现实例
- PHP 安装
- Windows上优秀的命令行(Terminal Emulator)工具推荐
- leetcode--Surrounded Regions
- Yii2.0前后台登录分离
- leetcode--Palindrome Partitioning
- thinkphp ajax 跨域请求 Access-Control-Allow-Origin 完美解决
- leetcode--Clone Graph