手动创建两个文本文件text1.txt和text2.txt,按要求创建text3.txt

实现在text1.txt和text2.txt文件中除去首行和末尾对应的数据,要求三个文本内容如下:

   text1                  text2                      text3begin                  begin                      begin10 11 12               15 16 17                   25 27 2920 21 22               25 26 27                   45 47 4930 31 32               35 36 37                   65 67 69end                    end                        end

这个程序需要用到fopen()函数,对text1和text2需要只读”r+”,而text3需要创建并写入”w+”,当检测到text1中是数字时,就可以将text1和text2中的内容相加,在text1,text2和text3中分别定义一个char型,ch1,ch2,ch3,在赋值时要注意赋值语句是ch3=ch1+ch2-‘0’,因为ch1和ch2都是字符直接相加并不能得到相应的结果,要减去一个字符‘0’。
第一种用fgetc()和fputc()函数 具体源程序如下:

#include <stdio.h>
#include <string.h>  // 函数功能:打开文件
FILE* Fopen (const char *path, const char *mode)
{FILE* fp = fopen (path, mode);if (NULL == fp){perror ("fopen path");return;}return fp;
} int main()  
{  
// 不调用函数
/*************************************************************FILE *fp1= fopen("text1.txt", "r+");  if (text1 == NULL)  {  perror("fopen text1.txt");  return 0;  }  FILE *fp2 = fopen("text2.txt", "r+");  if (text2 == NULL)  {  perror("fopen text2.txt");  return 0;  }  FILE *fp3= fopen("text3.txt", "w+");  if (text3 == NULL)  {  perror("fopen text3.txt");  return 0;  }  
***********************************************************/FILE *fp1= Fopen ("text1.txt", "r+");FILE *fp2= Fopen ("text2.txt", "r+");FILE *fp3= Fopen ("text3.txt", "w+");char ch1;  char ch2;  char ch3; // 读取分辨12中的数据,相加存入3while (1)  {  ch1 = fgetc(fp1);  if (ch1 == EOF)  {  break;  }  ch2 = fgetc(fp2);  if (ch2 == EOF)  {  break;  }  if (ch1 >= '0' && ch1 <= '9')       // 判 断是否是数字{  ch3 = ch1 + ch2 - '0';  fputc(ch3,fp3);  }  else if(fputc(ch1, fp3) == EOF)     // 不是则直接写入3中  {  perror("fputc");  break;  }   }  fclose(fp1);  fclose(fp2);  fclose(fp3);  return 0;  
} 

下面是不用fgetc()和fputc()函数的写法 具体源程序如下:

#include <stdio.h>#define SIZE 10// 函数功能:打开文件
FILE* Fopen (const char *path, const char *mode)
{FILE* fp = fopen (path, mode);if (NULL == fp){perror ("fopen path");return;}return fp;
} int main()
{FILE *fp1 = Fopen ("text1.txt", "r+");FILE *fp2 = Fopen ("text2.txt", "r+");FILE *fp3 = Fopen ("text3.txt", "w+");int ret1;int ret2;char buf1[SIZE] = {0};char buf2[SIZE] = {0};// 读取并分辨1和2中的数据,相加存入3中,结束标志为2中数据读完while(ret1 = fread (buf1, sizeof(char), 1, fp1)){       ret2 = fread (buf2, sizeof(char), 1, fp2);// 退出循环条件:1或2读完if(ret2 == 0 && !feof(fp2)){perror("fread");return -1;}if(ret1 == 0 && !feof(fp1)){perror("fread");return -1;}// 判断是否是数字,是则进行运算,不是则直接导入3if(buf1[0] >= '0' && buf1[0] <= '9'){char tmp[1] = {0};tmp[0] = buf1[0] + buf2[0] - '0';fwrite(tmp, sizeof(char), 1, fp3);}else{fwrite(buf1,sizeof(char),1,fp3);}}close(fp1);close(fp2);close(fp3);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448490.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

感情

团结 共患难的感情转载于:https://www.cnblogs.com/yyjh/p/11139749.html

谁抢走了中国男人的老婆?

“老夫少妻”、“包二奶”、“洋媳妇”、“单身贵族”、“丁克家庭”都是当今最时髦的词汇。这看似“你情我愿”的现象背后竟隐藏着巨大隐患! 目前中国男女比例是119&#xff1a;100&#xff0c;某些地区已达130&#xff1a;100;中国将有5百万以上光棍&#xff0c;这对中国社会…

latex 幻灯片演示模板

http://zzg34b.w3.c361.com/templet/slide.htm转载于:https://www.cnblogs.com/binterminator/articles/1621647.html

Linux 文件系统编程之系统调用和标准I/O库

系统调用 访问设备驱动程序的底层函数主要有&#xff1a; open:打开文件或者设备。 read:从打开的文件或者设备里面读取数据。 write:向文件或者设备写数据。 close:关闭文件或者设备。 open系统调用&#xff1a; #include <fcntl.h> #include <sys/types.h> #in…

mysql 索引:类型 、创建

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一个简单的对比测试 以我去年测试的数据作为一个简单示例&#xff0c;20多条数据源随机生成200万条数据&#xff0c;平均每条数据源都重…

水调歌头·中秋

转载于:https://www.cnblogs.com/divineka/archive/2004/09/04/39560.html

代码面试最常用的10大算法

摘要&#xff1a;面试也是一门学问&#xff0c;在面试之前做好充分的准备则是成功的必须条件&#xff0c;而程序员在代码面试时&#xff0c;常会遇到编写算法的相关问题&#xff0c;比如排序、二叉树遍历等等。 在程序员的职业生涯中&#xff0c;算法亦算是一门基础课程&#…

fork与vfork的区别

fork与vfork的区别 1.vfork保证子进程先运行&#xff0c;在它调用exec或exit之后父进程才可能被调度运行。如果在调用这两个函数之前子进程依赖于父进程的进一步动作&#xff0c;则会导致死锁。 2.fork要拷贝父进程的进程环境&#xff1b;而vfork则不需要完全拷贝父进程的进程…

IDEA 2018 集成 MyBatis Generator 插件 详解、代码生成

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1、修改maven的pom文件 只需要将如下依赖添加到pom.xml文件中即可。&#xff08;注意此处是以plugin的方式&#xff0c;放在<plugins…

MongoDB监控及报警

转载请注明出处&#xff1a;https://www.cnblogs.com/shining5/p/11142357.html MongoDB监控及报警 Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库&#xff0c;其使用go语言开发。基本原理是通过HTTP协议周期性抓取被监控组件的状态&#xff0c;任意组件只要提…

umask命令:设置文件的默认权限掩码

今天接触到了掩码&#xff0c;从博客上总结了一些关于掩码解释比较全面的分析&#xff0c;和大家分享下。 文件权限是linux系统中的一种安全机制&#xff0c;通过设置不同的权限&#xff0c;可以达到限制用户操作的目的&#xff0c;有效地保证了文件的完整性。 默认的情况下&…

如何学习开源项目及Ceph的浅析

摘要&#xff1a;开源技术的学习和采用确实存在着一定门槛&#xff0c;然而学习各种开源项目已经成为许多开发者不可回避的工作内容。那么&#xff0c;对于类似OpenStack的大型开源项目&#xff0c;开发者该如何着手&#xff0c;这里我们看章宇的分享。 【编者按】在 上一届O…

Mybatis 中更新方法: updateByPrimaryKeySelective() 和 updateByPrimaryKey() 的区别

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 int updateByPrimaryKeySelective(TbItem record); int updateByPrimaryKey(TbItem record); 上面的是逆转工程生成的Mapper接口 对应…

SHT知识库操作要点

1.保存文档库模板&#xff1a; 知识库---设置---文档库设置---权限管理---将文档另存为模板2.设置版本号&#xff1a;知识库---设置---文档库设置---常规设置---版本控制设置3.设置文档库权限&#xff1a;列表---设置---文档库设置---此文档库的权限&#xff08;用户组读取列表…

浅谈三种特殊进程:孤儿进程,僵尸进程和守护进程

昨天学了进程控制&#xff0c;就这三种特殊的进程研究了一下&#xff0c;其中也借鉴了一些前人总计的经验。 1、孤儿进程 如果父进程先退出,子进程还没退出那么子进程将被 托孤给init进程,这里子进程的父进程就是init进程(1号进程).其实还是很好理解的。 // 父进程先子进程退…

设计师为什么要学编程,开发者为什么要学设计?

摘要&#xff1a;设计师和开发者目前正处于互联网的两端&#xff0c;看着彼此做不同的工作。如果他们能互相学习对方的技术&#xff0c;那么会协作得更好。 很多开发者认为&#xff0c;设计师应该学会如何编写代码&#xff0c;这一点是真的&#xff1a;通过学习&#xff0c;设计…

git 查看远程仓库地址

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 就一个命令&#xff1a; git remote -v 如下&#xff1a;

tensorflow之tf.train.exponential_decay()指数衰减法

exponential_decay(learning_rate, global_steps, decay_steps, decay_rate, staircaseFalse, nameNone) 使用方式&#xff1a; tf.tf.train.exponential_decay() 例子&#xff1a; tf.train.exponential_decay(self.config.e_lr, self.e_global_steps&#xff0c;self.config…

wait( )和 waitpid( )

进程一旦调用了wait&#xff0c;就立即阻塞自己&#xff0c;由wait自动分析是否当前进程的某个子进程已经退出&#xff0c;如果让它找到了这样一个已经变成僵尸的子进程&#xff0c;wait就会收集这个子进程的信息&#xff0c;并把它彻底销毁后返回&#xff1b;如果没有找到这样…

享受阅读的十二个好习惯

严谨的国际阅读率比较研究显示&#xff0c;当下韩国国民人均阅读量约为每年11本&#xff0c;法国约为8.4本&#xff0c;日本在8.4—8.5本之间。全世界每年阅读书籍数量排名第一的是犹太人&#xff0c;平均每人一年读书64本。而中国13亿人口&#xff0c;扣除教科书&#xff0c;平…