C 语言中与文件操作相关的常用函数,并提供相应的代码示例。
-
fopen()
函数:- 用于打开一个文件。
- 语法:
FILE *fopen(const char *filename, const char *mode);
- 返回一个文件指针,如果打开失败则返回
NULL
。 - 常用打开模式有:
"r"
(只读)、"w"
(只写)、"a"
(追加)、"r+"
(读写)、"w+"
(读写)、"a+"
(读写追加)。
示例代码:
#include <stdio.h> int main() { FILE *fp; fp = fopen("example.txt", "w"); if (fp == NULL) { printf("Error opening file.\n"); return 1; } // 执行文件操作 fclose(fp); return 0; }
-
fclose()
函数:- 用于关闭一个打开的文件。
- 语法:
int fclose(FILE *stream);
- 返回 0 表示成功关闭,返回
EOF
表示关闭失败。
示例代码:
#include <stdio.h> int main() { FILE *fp; fp = fopen("example.txt", "w"); if (fp == NULL) { printf("Error opening file.\n"); return 1; } // 执行文件操作 if (fclose(fp) != 0) { printf("Error closing file.\n"); return 1; } return 0; }
-
fputc()
函数:- 用于向文件中写入一个字符。
- 语法:
int fputc(int c, FILE *stream);
- 返回写入的字符,失败时返回
EOF
。
示例代码:
#include <stdio.h> int main() { FILE *fp; fp = fopen("example.txt", "w"); if (fp == NULL) { printf("Error opening file.\n"); return 1; } if (fputc('H', fp) == EOF) { printf("Error writing to file.\n"); fclose(fp); return 1; } if (fputc('i', fp) == EOF) { printf("Error writing to file.\n"); fclose(fp); return 1; } fclose(fp); return 0; }
-
fputs()
函数:- 用于向文件中写入一个字符串。
- 语法:
int fputs(const char *s, FILE *stream);
- 返回非负值表示成功,失败时返回
EOF
。
示例代码:
#include <stdio.h> int main() { FILE *fp; fp = fopen("example.txt", "w"); if (fp == NULL) { printf("Error opening file.\n"); return 1; } if (fputs("Hello, world!", fp) == EOF) { printf("Error writing to file.\n"); fclose(fp); return 1; } fclose(fp); return 0; }
-
fgetc()
函数:- 用于从文件中读取一个字符。
- 语法:
int fgetc(FILE *stream);
- 返回读取的字符,文件结束时返回
EOF
。
示例代码:
#include <stdio.h> int main() { FILE *fp; int c; fp = fopen("example.txt", "r"); if (fp == NULL) { printf("Error opening file.\n"); return 1; } while ((c = fgetc(fp)) != EOF) { printf("%c", c); } if (ferror(fp)) { printf("Error reading from file.\n"); } fclose(fp); return 0; }
-
fgets()
函数:- 用于从文件中读取一行字符串。
- 语法:
char *fgets(char *s, int n, FILE *stream);
- 读取最多
n-1
个字符,遇到换行符或文件结束时停止。返回读取的字符串指针,失败时返回NULL
。
示例代码:
#include <stdio.h> int main() { FILE *fp; char buffer[100]; fp = fopen("example.txt", "r"); if (fp == NULL) { printf("Error opening file.\n"); return 1; } if (fgets(buffer, sizeof(buffer), fp) == NULL) { printf("Error reading from file.\n"); fclose(fp); return 1; } printf("Content of the file: %s", buffer); fclose(fp); return 0; }
这只是 C 语言文件操作函数的部分介绍,后续我会继续补充其他函数的讲解和示例代码。请继续关注。