在C言语中,文件操纵是数据长久化存储的重要手段。文件操纵包含文件的打开、读取、写入跟封闭等基本操纵,这些操纵经由过程标准库中的文件处理函数实现。以下是一些基本的文件操纵不雅点:
FILE *fp;
指向文件的指针,用于存储文件缓冲区的首地点。
"r"
:只读形式,文件必须存在。"w"
:写入形式,文件不存在则创建,存在则清空。"a"
:追加形式,文件不存在则创建,存在则在末端追加。"rb"
, "wb"
, "ab"
:二进制形式下的读、写、追加。"r"
, "w"
, "a"
:读写形式,具体行动取决于文件能否存在。#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp = fopen("example.txt", "r");
if (fp == NULL) {
perror("Failed to open file");
return EXIT_FAILURE;
}
fclose(fp);
return EXIT_SUCCESS;
}
#include <stdio.h>
int main() {
FILE *fp = fopen("example.txt", "r");
if (fp == NULL) {
perror("Failed to open file");
return EXIT_FAILURE;
}
char buffer[100];
fseek(fp, 0, SEEK_SET); // 确保指针指向文件扫尾
if (fgets(buffer, sizeof(buffer), fp) == NULL) {
perror("Failed to read file");
}
printf("%s", buffer);
fclose(fp);
return EXIT_SUCCESS;
}
#include <stdio.h>
int main() {
FILE *fp = fopen("example.txt", "w");
if (fp == NULL) {
perror("Failed to open file");
return EXIT_FAILURE;
}
fprintf(fp, "Hello, World!");
fclose(fp);
fp = fopen("example.txt", "r");
if (fp == NULL) {
perror("Failed to open file");
return EXIT_FAILURE;
}
char buffer[100];
if (fgets(buffer, sizeof(buffer), fp) == NULL) {
perror("Failed to read file");
} else {
printf("%s", buffer);
}
fclose(fp);
return EXIT_SUCCESS;
}
经由过程以上分析跟示例代码,可能帮助C言语开辟者更好地懂得跟处理文件操纵中罕见的成绩。