C/C++以及Linux文件操作备忘录

目录

C文件操作

#include<stdio.h>
stdin, stdout, stderr

文件开关

/*
** r/rb 只读。不存在返回NULL
** w/wb 只写。不存在创建,已存在清空文件
** a/ab 只写。不存在创建
** r+/rb+ 读写兼备。不存在返回NULL,打开不会清空源文件
** w+/wb+ 读写兼备。不存在创建,已存在清空文件
** a+/ab+ 允许读取。不存在创建,只允许末尾追加。
*/
FILE* fopen(char* fname, char* mode);

int fclose(FILE* fp);

文件读写

  • 单字符
// @brief 返回读取的单个字符ASCII码
int fgetc(FILE* fp);

// @brief 向文件中写入一个字符。
// @return int 失败 -1, 成功写入的ASCII码值
int fputc(char ch, FILE* fp);
  • 单行
// @brief 最多count-1个字符,第count个字符是'\0'.读取过程遇到'\n'会提前结束
// @ return buf所指向的空间地址
char* fgets(char* buff, int count, FILE* fp);

// @brief 将ch参数'\0'之前的部分写入文件
// @return 错误EOF,成功0
int fputs(const char* ch, FILE* fp);

// @brief 二进制形式读取
// @param buff 空间存储地址
// @param size 每个数据项的字节数
// @param count 读取的数据项个数
// @param fp 文件指针
// @return 读取的数据字节数
size_t fread(void* buff, size_t size, size_t count, FILE* fp);

// @brief 二进制形式写入
size_t fwrite(const void* buff, size_t size, size_t count, FILE* fp);
  • 文件随机读写
// @brief 获取文件指针当前位置
// @return 文件位置指针距离文件开头的字节数。不存在或有错误返回-1L
long ftell(FILE* fp);

// @brief 以origin为基准偏移offset
// @param origin SEEK_SET 0 文件从开头偏移
//               SEEK_CUR 1
//               SEEK_END 2
// @return 成功0 错误-1
int fseek(FILE* fp, long offset, int origin);

// @brief 指针移动到文件开头
void rewind(FILE* fp);

C++文件操作

Linux文件操作

猜你喜欢

转载自www.cnblogs.com/pusidun/p/12298103.html
今日推荐