跳转至

C 风格文件操作

  • 文件模式 二进制模式和文本模式。
  • 标准文件指针 stdin, stdout, stderr

fopen()

FILE * fopen(const char * PATH, const char * FORMAT);

打开文件成功则返回文件指针,否则返回NULL。

模式字符串:

  • r 可以读取,文件必须存在。
  • w 可以写入,不存在则创建,存在则将长度截取为零。
  • a 可以追加写入,不存在则创建。
  • r+ 可以读取和写入,不会自动创建。
  • w+ 可以读取和写入,不存在则创建,存在则将长度截为零。
  • a+ 可以读取和追加写入,不存在则创建。
  • rb, rb+ 使用二进制模式写入文本。
  • x 附加在w后面,使得文件存在时出错。

getc() putc()

getc(fp);

putc(ch, fp);

fclose()

关闭由文件指针指定的文件,成功则返回0,失败返回EOF。

fprintf() fscanf()

注意与putc()不同的是,fprintf()等函数以文件指针作为第一个参数。

fgets() fputs()

fgets() 的第一个参数是保存内容char数组名称,第二个参数是字符串的长度(最多会读取(长度-1)个字符),接下来是文件指针。保留换行符,再向末尾追加空字符。

遇到EOF时返回NULL。

fputs 的第一个参数时保存内容的char数组名,第二个参数是文件指针。

funget(int ch, FILE * fp)

把一个字符放回输入流。