Linux C笔记(2)

有缓冲访问文件(库函数)

1.FILE *fopen(const char *path,const *mode);

所需头文件:#include<stdio.h>

功能:打开一个名叫path的文件,文件的属性为mode

返回值:文件顺利打开后,指向该流的文件指针就会被返回;若果文件打开失败,则返回NULL,并把错误代                 码存在errno中


2.int fclose(FILE *stream);

所需头文件:#include<stdio.h>

功能:用来关闭先前fopen( )打开的文件,此动作会让缓冲区内的数据写入文件中,并释放系统所提供的文               件资源

返回值:若关文件动作成功则返回0;有错误发生时则返回EOF并把错误代码存到errno


3.size_t fread(void *ptr,size_t size,size_t nmemb,FILE *stream);

所需头文件:#include<stdio.h>

功能:用来从文件流中读取数据。参数stream为已打开的文件指针,参数ptr向欲存放读取进来的数据间,      读取的字符数由参数nmemb来决定。fread()会返回实际读取到的nmemb数目,如果此值比参数nmemb                 小,则代表可能读到了文件尾或有错误发生,这时必须用feof( )或ferror( )来判定发生什么情况

返回值:返回实际读取到的nmemb数目


4.size_t fwrite(const viod *ptr,size_t size,size_t nmemb,FILE *stream);

所需头文件:#include<stdio.h>

功能:用来将数据写入文件流中。参数stream为已打开的文件指针,参数ptr向欲写入的数据地址            总共写入的字符数由参数nmemb来决定。

返回值:返回实际写入的nmemb


5.int fseek(FILE * stream,long offset,int whence);

所需头文件:#include<stdio.h>

功能:用来移动文件流的读写位置。参数stream为已打开的文件指针,参数offset为根据参数whence来移动      读写位置的位移数。参数whence为下列其中一种:SEEK_SET从距文件开头offset位移量为新的读写位      置;SEEK_CUR以目前的读写位置往后增加offset个位移量;SEEK_END将读写位置指向文件尾后再增加      offset个位移量。
              当whence值为SEEK_CUR或SEEK_END时,参数offset允许负值的出现。下列是较特别的使用方式:
        ①欲将读写位置移动到文件开头时,fseek(FILE * stream,0,SEEK_SET);
        ②欲将读写位置移动到文件尾时,fseek(FILE * stream,0,0SEEK_END);

返回值:当调用成功时则返回0;若有错误则返回-1,errno会存放错误代码

附加说明:fseek()不像lseek( )会返回读写位置,因此必须使用ftell( )来取得当前读写的位置


6.int fgetc(FILE *stream);

所需头文件:#include<stdio.h>

功能:将参数c转为unsigned char后写入参数stream指定的文件中

返回值:返回写入成功的字符,即参数c;若返回EOF则代表写入失败


7.int fputc(int c,FILE *stream);

所需头文件:#include<stdio.h>

功能:用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间,直到出现换行字符、读到文      件尾或者已读了size-1个字符为止,最后会加上NULL作为字符串结束

返回值:若成功则返回s指针;返回NULL则表示有错误发生


8.int fprintf(FILE * stream, const char * format,……);

所需头文件:#include<stdio.h>

功能:会根据参数format字符串来转换并格式化数据,然后将结果输出到参数stream指定的文件中,直到出      现字符串结束(\0)为止

返回值:关于参数format字符串的格式请参考printf( )。成功则返回实际输出的字符数,失败则返回-1,错误原因存于errno中



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值