c 文件操作函数介绍(终于找到比较好的总结了)

C文件读写函数介绍(转自:http://hi.baidu.com/celine_wy/item/efa922fe18176d16ff358243

1.fopen()


  fopen的原型是:FILE *fopen(const char *filename,const char *mode),fopen实现三个功能:为使用而打开一个流,把一个文件和此流相连接,给此流返回一个FILR指针。

  参数filename指向要打开的文件名,mode表示打开状态的字符串,其取值如下: 

  字符串 含义 

  "r" 以只读方式打开文件 

  "w" 以只写方式打开文件 

  "a" 以追加方式打开文件 

  "r+" 以读/写方式打开文件,如无文件出错 

  "w+" 以读/写方式打开文件,如无文件生成新文件 

  一个文件可以以文本模式或二进制模式打开,这两种的区别是:在文本模式中回车被当成一个字符’\n’,而二进制模式认为它是两个字符0x0D,0x0A;如果在文件中读到0x1B,文本模式会认为这是文件结束符,也就是二进制模型不会对文件进行处理,而文本方式会按一定的方式对数据作相应的转换。 

  系统默认的是以文本模式打开,可以修改全部变量_fmode的值来修改这个设置,例如_fmode=O_TEXT;就设置默认打开方式为文本模式;而_fmode=O_BINARY;则设置默认打开方式是二进制模式。 

  我们也可以在模式字符串中指定打开的模式,如"rb"表示以二进制模式打开只读文件,"w+t"或"wt+"表示以文本模式打开读/写文件。 

  此函数返回一个FILE指针,所以申明一个FILE指针后不用初始化,而是用fopen()来返回一个指针并与一个特定的文件相连,如果成败,返回NULL.
  例: 
   以下是引用片段: 
FILE *fp; 
  if(fp=fopen("123.456","wb")) 
  puts("打开文件成功"); 
  else 
  puts("打开文件成败");


2.fclose()


  fclose()的功能就是关闭用fopen()打开的文件,其原型是:int fclose(FILE *fp);如果成功,返回0,失败返回EOF。 

  在程序结束时一定要记得关闭打开的文件,不然可能会造成数据丢失的情况,我以前就经常犯这样的错误。 

  例:fclose(fp); 

3.fputc()


  向流写一个字符,原型是int fputc(int c, FILE *stream); 成功返回这个字符,失败返回EOF。 

  例:fputc(’X’,fp); 

4.fgetc() 
  从流中读一个字符,原型是int fputc(FILE *stream); 成功返回这个字符,失败返回EOF。 

  例:char ch1=fgetc(fp); 

5. fseek()


  此函数一般用于二进制模式打开的文件中,功能是定位到流中指定的位置,原型是int fseek(FILE *stream, long offset, int whence);如果成功返回0,参数offset是移动的字符数,whence是移动的基准,取值是: 

  符号常量 值 基准位置 

  SEEK_SET 0 文件开头 

  SEEK_CUR 1 当前读写的位置 

  SEEK_END 2 文件尾部 

  例:fseek(fp,1234L,SEEK_CUR);//把读写位置从当前位置向后移动1234字节(L后缀表示长整数) 

  fseek(fp,0L,2);//把读写位置移动到文件尾

6.fputs() 

  写一个字符串到流中,原型int fputs(const char *s, FILE *stream); 

  例:fputs("I Love You",fp); 

7.fgets()


  从流中读一行或指定个字符,原型是char *fgets(char *s, int n, FILE *stream); 从流中读取n-1个字符,除非读完一行,参数s是来接收字符串,如果成功则返回s的指针,否则返回NULL。 

  例:如果一个文件的当前位置的文本如下: 
  Love ,I Have 

  But …….. 

  如果用 

  fgets(str1,4,file1); 

  则执行后str1="Lov",读取了4-1=3个字符,而如果用 

  fgets(str1,23,file1); 

  则执行str="Love ,I Have",读取了一行(不包括行尾的’\n’)。 

8.fprintf()


  按格式输入到流,其原型是int fprintf(FILE *stream, const char *format[, argument, …]);其用法和printf()相同,不过不是写到控制台,而是写到流罢了。 

  例:fprintf(fp,"%2d%s",4,"Hahaha"); 

9.fscanf()


  从流中按格式读取,其原型是int fscanf(FILE *stream, const char *format[, address, …]);其用法和scanf()相同,不过不是从控制台读取,而是从流读取罢了。 

  例:fscanf(fp,"%d%d" ,&x,&y); 

10.feof()


  检测是否已到文件尾,是返回真,否则返回0,其原型是int feof(FILE *stream); 

  例:if(feof(fp))printf("已到文件尾"); 

11.ferror()


  原型是int ferror(FILE *stream);返回流最近的错误代码,可用clearerr()来清除它,clearerr()的原型是void clearerr(FILE *stream); 

  例:printf("%d",ferror(fp)); 

12.rewind()


  把当前的读写位置回到文件开始,原型是void rewind(FILE *stream);其实本函数相当于fseek(fp,0L,SEEK_SET); 

  例:rewind(fp); 

13.remove()


  删除文件,原型是int remove(const char *filename); 参数就是要删除的文件名,成功返回0。 

  例:remove("c:\\io.sys"); 

14.fread()


  从流中读指定个数的字符,原型是size_t fread(void *ptr, size_t size, size_t n, FILE *stream);参数ptr是保存读取的数据,void*的指针可用任何类型的指针来替换,如char*、int *等等来替换;size是每块的字节数;n是读取的块数,如果成功,返回实际读取的块数(不是字节数),本函数一般用于二进制模式打开的文件中。 

  例: 
   以下是引用片段: 
char x[4230]; 
  FILE *file1=fopen("c:\\msdos.sys","r"); 
  fread(x,200,12 ,file1);//共读取200*12=2400个字节 

15.fwrite()


  与fread对应,向流中写指定的数据,原型是size_t fwrite(const void *ptr, size_t size, size_t n, FILE *stream);参数ptr是要写入的数据指针,void*的指针可用任何类型的指针来替换,如char*、int *等等来替换;size是每块的字节数;n是要写的块数,如果成功,返回实际写入的块数(不是字节数),本函数一般用于二进制模式打开的文件中。

  例: 
   以下是引用片段: 
  char x[]="I Love You"; 
  fwire(x, 6,12,fp);//写入6*12=72字节 
  将把"I Love"写到流fp中12次,共72字节 

16.tmpfile()


  其原型是FILE *tmpfile(void); 生成一个临时文件,以"w+b"的模式打开,并返回这个临时流的指针,如果失败返回NULL。在程序结束时,这个文件会被自动删除。 

  例:FILE *fp=tmpfile(); 

17.tmpnam();


  其原型为char *tmpnam(char *s); 生成一个唯一的文件名,其实tmpfile()就调用了此函数,参数s用来保存得到的文件名,并返回这个指针,如果失败,返回NULL。 

  例:tmpnam(str1);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: C语言标准函数库是一组预定义的函数,提供了一系列常用的功能和操作,方便程序员编写和管理代码。C语言标准函数库分为几个不同的部分,比如输入输出函数、字符串函数、数学函数等。 要下载C语言标准函数库,首先需要确定所使用的开发环境。不同的开发环境可能有不同的方式下载标准函数库。通常情况下,C语言标准函数库已经被编译为开发环境所支持的库文件,并且自带于该环境中。 例如,对于常用的GNU C编译器(gcc),标准函数库是通过操作系统的包管理器进行安装的。在Linux操作系统上,通过运行适用于所使用的发行版的包管理器,可以轻松地安装C语言标准函数库。在Windows操作系统上,可以从MinGW等网站下载相应的GCC编译器,安装后即可使用标准函数库。 在其他开发环境中,可能需要手动下载标准函数库。可以通过搜索引擎查找相应的网站,从中找到可用的标准函数库版本并进行下载。下载完成后,根据开发环境的要求将库文件导入到项目中,并在代码中正确地引用函数库。 无论是自带于开发环境还是手动下载导入的方式,一旦成功下载C语言标准函数库,就可以在代码中使用其中的函数了。通过包含相应的头文件,并且调用所需的函数,即可实现所需的功能。 总结来说,下载C语言标准函数库的方法主要取决于所使用的开发环境。可以通过操作系统的包管理器进行安装,或者从相应的网站手动下载并导入到项目中。下载完成后,可以在代码中使用标准函数库提供的功能。 ### 回答2: C语言标准函数库是C语言编程中常用的一个库,包含了很多用来进行常见操作函数。下载C语言标准函数库需要以下步骤: 首先,需要确定所使用的操作系统。因为不同的操作系统有不同的C语言编程环境和函数库支持。比如,在Windows系统下一般使用Visual Studio等集成开发环境,而在Linux系统下一般使用GCC编译器。 接下来,在相应的操作系统中安装C语言开发环境。对于Windows系统,可以下载并安装Visual Studio,或者MinGW等C编译器。对于Linux系统,可以使用apt-get、yum等包管理工具安装GCC编译器。 下载C标准函数库并将其添加到编译环境中。在Windows系统下,安装好Visual Studio等开发环境后,系统会自动默认包含C标准函数库,并在编译时链接。在Linux系统下,需要在编译时手动添加"-lm"参数,以链接C标准函数库。 需要注意的是,C标准函数库在编译时是自动链接的,不需要手动下载和安装。只需要确保所使用的C编译器支持C标准库,并将其链接到编译环境中即可。 综上所述,下载C语言标准函数库是通过安装相应的C开发环境来实现的。在已安装好的环境中,C标准函数库会自动包含并链接到编译环境中,无需额外下载和安装。 ### 回答3: C语言标准函数库是C语言提供的一套预定义函数集合,包含了各种常用函数,如字符串处理、数学运算、内存管理等。为了使用这些标准函数,需要将相应的函数文件链接到我们的程序中。 在Windows环境下,我们可以通过下载安装MinGW或者Cygwin来获取C语言标准函数库。MinGW是一个实现了GCC编译器的开发环境,它包含了大多数C语言标准函数库,可以从MinGW官方网站下载并安装。Cygwin也是一个提供类Unix环境的兼容层,通过安装Cygwin,可以使用其中提供的标准函数库。 对于其他操作系统如Linux、Mac OS等,C语言标准函数库一般已经默认安装在系统中,我们可以直接在程序中调用这些函数,无需下载。 除了C语言标准函数库,还有一些第三方函数库可供下载使用,如Boost、OpenGL等。这些函数库提供了更多的功能和扩展性,可以满足特定的需求。下载和使用第三方函数库的方法一般是先从官方网站下载函数库的源代码,然后根据相应的安装说明进行编译和安装。 总之,C语言标准函数库是C语言开发中必不可少的一部分,通过下载和使用函数库,我们可以快速、方便地实现各种功能,提高开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值