2024-2025 20241323计算机基础与程序设计》第十二周学习总结
这个作业属于https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP
这个作业要求https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01
这个作业的目标:
文件操作
作业正文https://www.cnblogs.com/gly03/p/18604346
教材学习内容总结
- 打开文件
使用 fopen 函数来打开一个文件。fopen 的原型如下:
c
FILE *fopen(const char *filename, const char *mode);
• filename 是要打开的文件名。
• mode 是文件的打开模式,如 "r"(只读)、"w"(只写)、"a"(追加)、"r+"(读写)等。
例子:
c
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
perror("Error opening file");
return 1;
} - 关闭文件
使用 fclose 函数来关闭一个打开的文件。fclose 的原型如下:
c
int fclose(FILE *stream);
• stream 是指向 FILE 对象的指针,即你之前打开的文件。
例子:
c
fclose(file); - 读取文件
可以使用 fgets、fread 等函数来读取文件内容。
• fgets:从文件中读取一行字符串。
c
char buffer[256];
if (fgets(buffer, sizeof(buffer), file) != NULL) {
printf("%s", buffer);
}
• fread:从文件中读取指定数量的数据项。
c
int data[10];
size_t items_read = fread(data, sizeof(int), 10, file); - 写入文件
可以使用 fputs、fwrite 等函数来写入文件内容。
• fputs:向文件中写入一行字符串。
c
const char *str = "Hello, World!\n";
fputs(str, file);
• fwrite:向文件中写入指定数量的数据项。
c
int data[] = {1, 2, 3, 4, 5};
fwrite(data, sizeof(int), 5, file); - 文件定位
可以使用 fseek、ftell 和 rewind 函数来定位文件指针。
• fseek:设置文件指针的位置。
c
fseek(file, 10, SEEK_SET); // 从文件开头向后移动10个字节
• ftell:获取当前文件指针的位置。
c
long position = ftell(file);
• rewind:将文件指针重新定位到文件的开头。
c
rewind(file); - 文件结束和错误检测
• feof:检查是否到达文件末尾。
c
if (feof(file)) {
printf("End of file reached.\n");
}
• ferror:检查是否发生文件错误。
c
if (ferror(file)) {
perror("Error reading file");
} - 清除文件错误标志
使用 clearerr 函数来清除文件错误标志和文件结束标志。
c
clearerr(file);