文件读写函数

字符读写函数:    fgetc / fputc
字符串读写函数:fputs / fgets
格式化读写函数:fscanf / fprintf
二进制读写函数:fread / fwrite
其他相关函数:
检测文件结尾函数feof
检测文件读写出错函数ferror
清除末尾标志和出错标志函数clearerr
文件定位的函数fseek

字符读写函数fgetc和fputc

while( !feof( fp1 ) ){
         c = fgetc( fp1 );
         fputc(c, fp2);
       }

函数fputc( )
     fputc(ch, fp);
           把一个字符 ch 写到 fp 所指示的磁盘文件上
返回值
         -1 (EOF):写文件失败
         ch:写文件成功

函数fgetc( )
ch = fgetc( fp ) ;
从fp所指示的磁盘文件上读入一个字符到ch

区分键盘字符输入函数getchar( )

例题一

从键盘输入10个字符,写到文件 f2.txt 中,再重新读出,并在屏幕上显示验证。

键盘输入 ? 写入文件 f2.txt ? 读文件 ? 屏幕显示的过程
键盘输入 ? f2.txt时,文件按写方式打开。
f2.txt ? 显示到屏幕时,文件按读方式打开。
读和写是两种不同的操作, f2.txt 分别被打开和关闭两次。

int main(void)
{   int i; char ch; FILE *fp;
    if((fp=fopen("f2.txt","w")) == NULL){     /*  打开文件f2.txt  */
        printf("File open error!\n");       exit(0);
    }
    for(i = 0; i < 10; i++){           /*  写文件10次  */
        ch = getchar();      fputc(ch, fp) ;
    }
    if(fclose(fp)){            /*  关闭文件  */
        printf("Can not close the file!\n" ); exit(0);
    }
    if((fp=fopen("f2.txt","r")) == NULL){  /*  打开文件f2.txt  */
        printf("File open error!\n"); exit(0);
    }
    for(i = 0; i < 10; i++){    /*  读文件10次  */
        ch = fgetc(fp);
           putchar(ch);
    }
    if(fclose(fp)){        /*  再次关闭文件  */
        printf("Can not close the file!\n"); exit(0);
    }
    return 0;
}
时间: 2024-09-27 18:53:26

文件读写函数的相关文章

Linux C,文件读写函数

C标准库提供的用于读写文件的函数非常多,大多数函数都在stdio.h中声明. fread/fwrite,fgets/fputs,fgetchar/fputchar,fprintf/fscanf............. 这些函数原型声明都在stdio.h中,如下: size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); size_t fwrite(const void *ptr, size_t size, size_t

(转载)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/8776479 在C\C++中,文件操作都是由库函数来实现的,主要是分为读和写两种操作,以下详细讲解以下所有有关文件操作的用法: (1)fopen()函数:打开文件 包含头文件:#include 格式:FILE * fopen(const char * path,const char * mode)

C文件读写函数介绍(转)

1.fopen() fopen的原型是:FILE *fopen(const char *filename,const char *mode),fopen实现三个功能:为使用而打开一个流,把一个文件和此流相连接,给此流返回一个FILR指针. 参数filename指向要打开的文件名,mode表示打开状态的字符串,其取值如下: 字符串 含义 "r" 以只读方式打开文件 "w" 以只写方式打开文件 "a" 以追加方式打开文件 "r+"

封装 INI 文件读写函数

delphi读写ini文件实例 //--两个过程,主要实现:窗体关闭的时候,文件保存界面信息:窗体创建的时候,程序读取文件文件保存的信息. //--首先要uses IniFiles(单元) //--窗体创建的时候,读取ini文件信息 procedure TfrmAFN04H_F9.FormCreate(Sender: TObject); var vFIni: TIniFile; sFileName: string; begin sFileName := ExtractFileDir(Applic

Python-Day3 Python基础进阶之集和/文件读写/函数

一.集和 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 1.创建集合 >>> s = set([3,5,9,10]) #创建一个数值集合 >>> t = set("Hello") #创建一个唯一字符的集合 >>> s {9, 10, 3, 5} >>> t {'e', 'H', 'l', 'o'} #集和自动去重

fread和fwrite同时对一个文件读写

这几天看到了fopen的参数设置.中文的那些真的是不能帮助精确理解.在网上发现了英文的,特附上: FILE *fopen(const char *filename, const char *mode)fopen opens the named file, and returns a stream, or NULL if the attempt fails. Legal values for mode include:"r"open text file for reading"

通过文件读写方式实现Matlab和Modelsim的联合仿真

虽然Modelsim的功能非常强大,仿真的波形可以以多种形式进行显示,但是当涉及到数字信号处理的算法的仿真验证的时候,则显得有点不足.而进行数字信号处理是Matlab的强项,不但有大量的关于数字信号处理的函数,而且图形显示功能也很强大,所以在做数字信号处理算法的FPGA验证的时候借助Matlab会大大加快算法验证的速度. 关于Matlab和Modelsim联合仿真,我从网上看到两种方法,一种是通过Link for Modelsim建立Matlab和Modelsim的联合仿真接口:另一种就是通过文

紫猫插件-文件读写(1-13)

QM[zm]05.01 文件读写之读取乱码文件(VIP) 小知识:了解下base64编码(功能就目前而言只是让内容无法直接读取 还有一个常用用处是可以把图片的二进制流base64编码 把图片作为字符串来传输 实际上稍微懂一点这方面的知识的很容易看到真实的内容) 举个例子 比如迅雷下载地址 我们把第一行的字符串进行base64解码 得到的结果是 很明显 迅雷对下载地址进行了保护 算法无非就是 给真正的下载地址左侧加AA右侧加ZZ 然后整体bse64加密 得到了我们看到的迅雷下载地址 顺便说一下 我

标C编程笔记day05 函数声明、文件读写、联合类型、枚举类型

函数声明: 1.隐式声明:在没有声明的情况下,系统可根据参数类型判断去调用函数(有可能出错) 2.显式声明:声明在被调用之前,如:double add(double,double);  函数声明参数可只写类型,不需要写函数体. 文件操作: fopen  --打开文件,FILE *pFile=fopen("a.txt","w"); fopen的打开模式: r:只能读,要求文件存在 r+:可读可写,要求文件存在 w:只能写,创建文件,如果文件存在则先删除旧文件 w+:可