fgetc();
    功能:    从文件中读取字符。
    头文件:  #include <stdio.h>
    函数原型:int fgetc(FILE *stream);
    返回值:  返回所读取的一个字节。如果读到文件末尾或者读取出错时返回EOF。

fputc();
    功能:    将字符写到文件中。
    头文件:  #include <stdio.h>
    函数原型:int fputc(int c, FILE *stream);
    返回值:  在正常调用情况下,函数返回写入文件的字符的ASCII码值,出错时,返回EOF(-1)。当正确写入一个字>符或一个字节的数据后,文件内部写指针会自动后移一个字节的位置。EOF是在头文件 stdio.h中定义的宏。

  例1:获取文件中字符的个数。

 #include <stdio.h>
 #include <stdlib.h>

 int main(int argc,char **argv)
 {
     FILE *fp = NULL;
     ;

     )
     {
         printf("Usage...\n");
         exit();
     }

     fp = fopen(argv[],"r");
     if(fp == NULL)
     {
         perror("argv[1]");
         exit();
     }

     while(fgetc(fp) != EOF)
     {
         count++;
     }

     printf("count = %d\n",count);

     ;
 }

运行结果:
[root@Yelong io]# gcc getc.c
[root@Yelong io]# ./a.out tmp
count = 135
[root@Yelong io]# ll tmp
-rw-r--r-- 1 root root 135 7月  18 13:07 tmp

  例2:文件的复制

 #include <stdio.h>
 #include <stdlib.h>

 int main(int argc,char **argv)
 {
     int ch;

     FILE *fpr = NULL;
     FILE *fpw = NULL;

     )
     {
         fprintf(stderr,]);
         exit();
     }

     fpr = fopen(argv[],"r");
     if(fpr == NULL)
     {
         perror("fpr");
         exit();
     }

    fpw = fopen(argv[],"w");
     if(fpw == NULL)
     {
         fclose(fpr);
         perror("fpw");
         exit();
     }

     )
     {
         ch = fgetc(fpr);
         if(ch == EOF)
             break;
         fputc(ch,fpw);

     }

     fclose(fpw);
     fclose(fpr);

     ;
 }
[root@Yelong io]# gcc mycpoy.c
[root@Yelong io]# ./a.out tmp mm
[root@Yelong io]# diff tmp mm

字符的读写函数:fgetc()和fputc()的更多相关文章

  1. C++之函数fgetc和fputc、fgets和fputs、fread和fwrite、fscanf和fprintf用法小结

    #include <iostream> #include <cstdio> #include <cstdlib> using namespace std; int ...

  2. (转载)C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind

    http://blog.sina.com.cn/s/blog_61437b3b0102v0bt.html http://blog.csdn.net/chenwk891/article/details/ ...

  3. C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind

    由于最近经常使用到c语言中的读写文件,所以在此总结以下,方便以后查找. 在c中,文件操作都是由库函数来实现的,主要是分为读和写两种操作,以下详细讲解以下所有有关文件操作的邯郸乎的用法: //C++写入 ...

  4. 「C语言」文件的概念与简单数据流的读写函数

    写完「C语言」单链表/双向链表的建立/遍历/插入/删除 后,如何将内存中的链表信息及时的保存到文件中,又能够及时的从文件中读取出来进行处理,便需要用到”文件“的相关知识点进行文件的输入.输出. 其实, ...

  5. C语言以字符形式读写文件

    一.字符读取函数 fgetc (一).函数介绍 fgetc 是 file get char 的缩写,意思是从指定的文件中读取一个字符.函数原型为: int fgetc(FILE* fp) fp 为文件 ...

  6. C语言中fgetc、fputc和getc、putc的区别是什么

    看书的时候,发现了这四个函数,想知道他们的不同.结果上网查发现很多人说fgetc.fputc的f代表的是file,就是这两个函数是和文件有关的!但是一看他们的函数声明,如下图: 发现他们的参数里面都有 ...

  7. 三、fgetc与fputc

    fgetc 功能:从流中读取一个字符 原型:int fgetc(FILE *stream); 参数: stream:要读取的流指针 返回:读取到的字符,如果读完则返回EOF,EOF是end of fi ...

  8. Linux驱动总结3- unlocked_ioctl和堵塞(waitqueue)读写函数的实现 【转】

    转自:http://blog.chinaunix.net/uid-20937170-id-3033633.html 学习了驱动程序的设计,感觉在学习驱动的同时学习linux内核,也是很不错的过程哦,做 ...

  9. Java字符流读写数据的两种方式

    第一种方式:逐个字符进行读写操作(代码注释以及详细内容空闲补充) package IODemo; import java.io.FileReader; import java.io.FileWrite ...

随机推荐

  1. 编写原生的Node.js模块

    导语:当Javascript的性能遭遇瓶颈,或者需要增强Javascript能力的时候,就需要依赖native模块来实现了. 应用场景 日常工作中,我们经常需要将原生的Node.js模块做为依赖并在项 ...

  2. [深圳/广州]微软SQL技术沙龙分享会(MVP)

    [深圳/广州] 新一期俱乐部活动报名开始,这次是广深地区SQL Server 技术沙龙分享会(MVP),SQL Server作为一个数据平台,不管是SQL Server 2017 on Linux 还 ...

  3. XCode 8.3 Automatically manage signing 问题

    记录iOS证书问题 无意中选择了Personal team,后台自动生成bundle identifier:com.xxx.project,导致不能在Organization team创建,而且在de ...

  4. Day2 - Python基础2习题集

    1.购物车程序 product_list = [ (), (), (), (), (), (), ] shooping_list = [] salary = input("Input you ...

  5. Java基础——多态

    多态性是指允许不同类型的对象对同一消息做出相应.具有灵活性.抽象.行为共享.代码共享的优势,共享就意味着最大化利用和简洁,还有就是加载速度. 一.多态的作用 消除类型之间的耦合关系.即同一事件发生在不 ...

  6. 备份Rhythmbox播放器的曲目和播放列表信息

    Rhythmbox音乐播放器只能保存单个播放列表,如果在rhythmbox下建了很多播放列表(比如按歌手名分类),每个播放列表下包含一些歌曲,为了避免重装系统后重新建这些播放列表,可以备份下面的文件. ...

  7. 去除MyEclipse频繁弹出的Update Progress窗口

    方法1: 1.关闭updating index Window => Preferences => Myeclipse Enterprise Workbench => Maven4My ...

  8. Access denied for user 'root'@'localhost' (using password: NO)错误的解决方案

    在windows下使用PHP连接MYSQL数据库,确定MYSQL的服务已经启动了,而且Workbench也是可以连上去的,但是始终网页测试都提示Access Denied. 最终解决办法: set p ...

  9. SICIP-1.3-Defining a new function

    定义函数 def <name> (former parament): 函数体(缩进) 环境 全局环境 局部环境 只在函数内部有效 TIP 函数体只在调用的最后执行 抽象化函数 函数域(函数 ...

  10. java 生产者 与 消费者的案例

    主要理解了两个问题 1.线程数据同步的问题 2.线程交替运行的方式 package ThreadDemo; /** * 生产者与消费者的案例(一,同步的问题,值的问题 二,交替执行的问题) * @au ...