📜  C中的fgetc()和fputc()(1)

📅  最后修改于: 2023-12-03 15:00:11.431000             🧑  作者: Mango

C中的fgetc()和fputc()

在C语言中,文件操作函数是很常见的。其中 fgetc()fputc() 是两个常用的函数,用于读写文件中的字符。

fgetc()

fgetc() 函数用于读取文件中的字符。它的原型如下:

int fgetc(FILE *stream);

函数接收一个 FILE 指针,指向要读取字符的文件。如果函数成功读取了一个字符,则返回该字符的ASCII码;否则返回 EOF。例如:

#include <stdio.h>

int main() {
  FILE *fp = fopen("file.txt", "r");
  int ch;

  if (fp == NULL) {
    printf("文件打开失败\n");
    return 0;
  }

  while ((ch = fgetc(fp)) != EOF) {
    printf("%c", ch);
  }

  fclose(fp);
  return 0;
}

上面的程序打开一个名为 file.txt 的文件,并读取其中的所有字符。如果文件打开失败,则输出一个错误信息,并退出程序。如果成功打开文件,则使用 fgetc() 函数逐个字符读取文件中的字符,并输出到屏幕上。

fputc()

fgetc() 相反,fputc() 函数用于向文件中写入字符。它的原型如下:

int fputc(int ch, FILE *stream);

函数接收两个参数,一个是要写入的字符,另一个是指向要写入字符的文件的 FILE 指针。该函数返回写入的字符或 EOF。例如:

#include <stdio.h>

int main() {
  FILE *fp = fopen("file.txt", "w");

  if (fp == NULL) {
    printf("文件打开失败\n");
    return 0;
  }

  fputc('H', fp);
  fputc('e', fp);
  fputc('l', fp);
  fputc('l', fp);
  fputc('o', fp);

  fclose(fp);
  return 0;
}

上面的程序打开一个名为 file.txt 的文件,并向其中写入 Hello,然后关闭文件。如果文件打开失败,则输出一个错误信息,并退出程序。

总结

fgetc()fputc() 是C语言中两个常用的文件操作函数,分别用于读取文件中的字符和向文件中写入字符。在使用这两个函数时,需要注意文件操作权限以及文件是否打开成功等问题。