c语言操作文件的函数 c语言文件操作例子

c语言操作文本的基本使用方法 c语言操作文本应该怎么使用c语言操作文件的函数 , 这对于很多新手来说c语言操作文件的函数,是很难c语言操作文件的函数的一件事情 , 下面c语言操作文件的函数我为大家带来了关于c语言操作文本的基本使用方法,欢迎大家阅读!
c语言操作文本的基本使用方法
1.字符读写c语言操作文件的函数:
fgetc函数的功能是从指定的文件中读一个字符 , 函数调用的形式为:
字符变量=fgetc(文件指针);
fputc函数的功能是把一个字符写入指定的文件中,函数调用的形式为:
fputc(字符量,文件指针);
2.字符串读写
读字符串函数fgets
函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为:
fgets(字符数组名,n,文件指针);
写字符串函数fputs
fputs函数的功能是向指定的文件写入一个字符串,其调用形式为:
fputs(字符串,文件指针);
3.数据块读写
读数据块函数调用的一般形式为:
fread(buffer,size,count,fp);
写数据块函数调用的`一般形式为:
fwrite(buffer,size,count,fp);
4.格式化读写
fscanf函数,fprintf函数与前面使用的scanf和printf函数的功能相似,都是格式化读写函数 。两者的区别在于fscanf函数和fprintf函数的读写对象不是键盘和显示器 , 而是磁盘文件 。
这两个函数的调用格式为:
fscanf(文件指针,格式字符串,输入表列);
fprintf(文件指针,格式字符串,输出表列);
文件定位
移动文件内部位置指针的函数主要有两个,即rewind函数和fseek函数 。
rewind函数前面已多次使用过,其调用形式为:
rewind(文件指针);
它的功能是把文件内部的位置指针移到文件首 。
下面主要介绍fseek函数 。fseek函数用来移动文件内部位置指针 , 其调用形式为:
fseek(文件指针,位移量,起始点);
其中:
“文件指针”指向被移动的文件 。
“位移量”表示移动的字节数 , 要求位移量是long型数据,以便在文件长度大于64KB时不会出错 。当用常量表示位移量时,要求加后缀“L” 。
“起始点”表示从何处开始计算位移量,规定的起始点有三种:文件首,当前位置和文件尾 。其表示方法如下表 。
c语言操作文本的基本使用方法1
起始点表示符号数字表示
文件首SEEK_SET0
当前位置SEEK_CUR1
文件末尾SEEK_END2
例如:
fseek(fp,100L,0);
其意义是把位置指针移到离文件首100个字节处 。
还要说明的是fseek函数一般用于二进制文件 。在文本文件中由于要进行转换,故往往计算的位置会出现错误 。
c语言中常用的文件检测函数有以下几个 。
文件结束检测函数feof函数
调用格式:
feof(文件指针);
功能:判断文件是否处于文件结束位置,如文件结束 , 则返回值为1,否则为0 。
读写文件出错检测函数
ferror函数调用格式:
ferror(文件指针);
功能:检查文件在用各种输入输出函数进行读写时是否出错 。如ferror返回值为0表示未出错,否则表示有错 。
文件出错标志和文件结束标志置0函数
clearerr函数调用格式:
clearerr(文件指针);
功能:本函数用于清除出错标志和文件结束标志,使它们为0值 。
如何用C语言fopen函数实现这样的文件打开功能?部分方法:\x0d\x0afopen的函数原型:FILE * fopen(const char * path,const char * mode);\x0d\x0afopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:\x0d\x0ar 以只读方式打开文件,该文件必须存在 。\x0d\x0ar+ 以可读写方式打开文件,该文件必须存在 。\x0d\x0arb+ 读写打开一个二进制文件,允许读数据 。\x0d\x0arw+ 读写打开一个文本文件,允许读和写 。\x0d\x0aw 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失 。若文件不存在则建立该文件 。\x0d\x0aw+ 打开可读写文件,若文件存在则文件长度清为零 , 即该文件内容会消失 。若文件不存在则建立该文件 。\x0d\x0aa 以附加的方式打开只写文件 。若文件不存在 , 则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留 。(EOF符保留)\x0d\x0aa+ 以附加方式打开可读写的文件 。若文件不存在,则会建立该文件 , 如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留 。(原来的EOF符不保留)\x0d\x0awb 只写打开或新建一个二进制文件;只允许写数据 。\x0d\x0awb+ 读写打开或建立一个二进制文件 , 允许读和写 。\x0d\x0awt+ 读写打开或着建立一个文本文件;允许读写 。\x0d\x0aat+ 读写打开一个文本文件 , 允许读或在文本末追加数据 。\x0d\x0aab+ 读写打开一个二进制文件 , 允许读或在文件末追加数据 。\x0d\x0a上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件 。\x0d\x0a\x0d\x0aC语言的文件处理的过程是,先声明一个文件指针,然后用fopen函数打开文件 , fopen打开文件成功的话返回一个指针该流的文件指针,然后利用指针对文件进行操作就好了,最后完事了在fclose函数关闭流 , 并释放指向他的指针 。\x0d\x0a例如:要对c:\example.txt的文本文件内容为:ISP,进行操作\x0d\x0a#include \x0d\x0a\x0d\x0aint main()\x0d\x0a{\x0d\x0achar ch;\x0d\x0aFILE* fp;\x0d\x0achar fname[50] = "c:\example.txt";\x0d\x0afp = fopen(fname,"r"); //只供读取\x0d\x0aif(fp == NULL) //如果失败了\x0d\x0a{\x0d\x0aprintf("ERROR!");\x0d\x0areturn 1;\x0d\x0a}\x0d\x0a//getc()用于在打开文件中获取一个字符\x0d\x0awhile((ch = getc(fp)) != EOF)//循环获取直至文件结束 EOF标志(End Of File)\x0d\x0aputchar(ch);//打印获取到的字符\x0d\x0afclose(fp); //关闭文件\x0d\x0areturn 0;\x0d\x0a}\x0d\x0a\x0d\x0a希望对你有帮助!

推荐阅读