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. Python Tkinter学习(1)——第一个Tkinter程序

    注:本文可转载,转载请注明出处:http://www.cnblogs.com/collectionne/p/6885066.html.格式修改未完成. Tkinter资料 Python Wiki, T ...

  2. flash2print文档在线预览应用(java,.net)

    一.背景 前段时间,LZ的boss突然给了出了这样一个需求:将原项目中的所有文章关联的附件TXT.PDF.office相关文件全部以flash的形式在网页上进行展示,便于预览.看似简单的需求,整个研发 ...

  3. cpp(第十三章)

    1.动态(晚期)联编需要显示定义复制构造函数,赋值运算符,虚构函数. 2.纯虚类不能声明对象. 3.赋值运算符的特征标随类而异. 4.返回类型协变,重新定义继承的方法,应确保与原来的原型完全相同,但如 ...

  4. ACL2016信息抽取与知识图谱相关论文掠影

    实体关系推理与知识图谱补全 Unsupervised Person Slot Filling based on Graph Mining 作者:Dian Yu, Heng Ji 机构:Computer ...

  5. Bash变量扩展修改符

    1.未设置就临时替换(:-) 冒号:用来检验变量是否设置过,如果没有冒号,则认为设置过,不替换$fruit=peach$echo ${fruit:-plum}peach $fruit=$echo ${ ...

  6. C# 调用cmd.exe的方法

    网上有很多用C#调用cmd的方法,大致如下: [c-sharp] view plaincopy private void ExecuteCmd(string command)   {   Proces ...

  7. EF架构~Migration数据迁移的执行顺序

    回到目录 对于单个分支项目来说,只要你生成一个migration的版本,就会有一个时间戳文件的对应,而在update-database时,会从最小的时间开始,一直执行到当前版本的migration,而 ...

  8. java 实例变量的初始化

    1.对于实例变量,该类没创建一次实例,就需要为实例变量分配一块内存空间:2.程序通过Person对象来访问eyeNum类变量时,底层依然会转换为通过Person访问eyeNum类变量:3.当Perso ...

  9. Lucence_Curd

    设置Field的类型 new StringField 不分词(id,身份证号,电话...) new StoredField 不分词(链接) new TextField 分词(文本) new Fload ...

  10. 关于MATLAB处理大数据坐标文件201762

    经过头脑风暴法想出了很多特征,目前经过筛选已经提交了两次数据,数据提交结果不尽如人意,但是收获很大. 接下来继续提取特征,特征数达到27时筛选出20条特征,并找出最佳搭配