关于“C语言 文件I/O”的使用攻略,首先需要明确文件I/O指的是通过C语言程序来读写磁盘上的文件。文件I/O是C语言中非常常用的操作之一,可以实现数据的永久存储和传递。下面具体讲解一下文件I/O的使用流程和技巧。
文件I/O的步骤
文件I/O的步骤如下:
-
打开文件:使用
fopen
函数,它的原型为FILE *fopen(const char *filename, const char *mode);
,其中第一个参数是文件名,第二个参数是打开模式。打开模式一般有以下几种: -
“r”:以只读模式打开文件;
- “w”:以只写模式打开文件,如果文件存在,则清空文件内容,文件不存在则创建新文件;
- “a”:以只写模式打开文件,如果文件存在,则将数据追加到文件末尾,文件不存在则创建新文件;
- “r+”:以读写模式打开文件;
- “w+”:以读写模式打开文件,如果文件存在,则清空文件内容,文件不存在则创建新文件;
-
“a+”:以读写模式打开文件,如果文件存在,则将数据追加到文件末尾,文件不存在则创建新文件。
-
读写文件:使用
fread
和fwrite
函数读写文件。fread
函数可以读取文件中二进制格式的数据到指定内存空间,原型为size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
;fwrite
函数可以将指定内存空间的数据以二进制格式写入文件,原型为size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
。 -
关闭文件:使用
fclose
函数关闭打开的文件,原型为int fclose(FILE *stream);
。
具体使用方法可以看下面两个示例。
示例一:向文件中写入字符串
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("test.txt", "w");
if (fp == NULL) {
printf("文件打开失败。\n");
return 1;
} else {
printf("文件打开成功。\n");
}
char str[] = "Hello, World!";
fwrite(str, sizeof(char), sizeof(str), fp);
fclose(fp);
printf("文件写入成功。\n");
return 0;
}
上面这个程序会创建一个名为test.txt
的文件,并向其中写入”Hello, World!”。
示例二:从文件中读取字符串
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("test.txt", "r");
if (fp == NULL) {
printf("文件打开失败。\n");
return 1;
} else {
printf("文件打开成功。\n");
}
char str[20];
fread(str, sizeof(char), 20, fp);
printf("文件内容是:%s\n", str);
fclose(fp);
printf("文件读取成功。\n");
return 0;
}
上面这个程序会读取名为test.txt
的文件的内容,并输出到屏幕上。
总的来说,使用文件I/O能够帮助我们实现更加灵活和自由的数据传递。