Linux-基础IO-库函数

库函数IO接口:fopen fwrite fread fclose fseek
FILE *fopen(const char *path,cosnt char *mode);
path:要打开的文件路径名称;mode:”r”,”r+”,”w”,”w+”,”a”,”a+”,b;
r:只读;r+:可读可写
w:只写 ,文件不存在则创建新文件;
w+:可读可写, 文件不存在则创建新文件
a:追加只写-总是将数据写入文件末尾,不存在则创建新文件
a+:读和追加写 打开文件从起始读,写在文件尾,不存在则创建新文件
b:对文件数据进行二进制操作(读写时尽可能加上)
返回值:失败返回NULL;成功返回一个文件流指针FILE *
size_t fwrite(const void *ptr,size_t size,size_t nmemb,FILE *stream);
ptr:要写入文件的数据的空间地址
size:块大小 nmemb:块个数
stream:操作句柄—fopen返回的文件流指针
返回值:成功实际写入文件的块个数;失败返回0
size_t fread(void *ptr,size_t size, size_t nmemb,FILE *stream)
ptr:一块缓冲区内存空间的地址
size:块大小 nmemb:块个数
stream:操作句柄—fopen返回的文件流指针
返回值:成功返回读取到完整块个数;出错返回0;读取到文件末尾返回0,读取的数据不足一块也返回0;建议:块大小为1,块个数为操作数据长度
例:若读取一块数据50字节,但是实际只读取了40字节的时候也会返回0,通过返回值无法确定是否已经读取到了数据。
fseek:(FILE *stream,long offset,int whence);–跳转文件读写位置
stream:操作句柄-打开文件返回的文件流指针
offset:相对起点的偏移量(可以为负数—正数向后,负数向前)
whence:相对起点—SEEK_SET-起始位置;SEEK_CUR-当前位置
SEEK_END-末尾位置
返回值:成功返回0;失败返回-1
int fclose(FILE *fp):

猜你喜欢

转载自blog.csdn.net/qq_43609421/article/details/115156988