C语言可以通过文件读写功能来读取文件中的数据内容或者将程序的数据写入到文件中,以实现数据的持久化操作。下面是C语言实现文件读写功能的完整攻略,包括文件读操作和文件写操作。
文件读操作
1. 打开文件
使用fopen
函数打开文件,函数原型如下:
FILE *fopen(const char *filename, const char *mode);
filename
:文件名或者文件路径mode
:文件打开模式,常用的有"r"
表示以只读方式打开文件,"w"
表示以写方式打开(文件不存在则创建,存在则清空),"a"
表示以追加方式打开,文件指针指向文件尾,如果文件不存在则创建文件。
示例1:打开一个名为test.txt
的文本文件
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("test.txt", "r");
if(fp == NULL) {
printf("File open error!\n");
return -1;
}
printf("File opened successfully!\n");
fclose(fp);
return 0;
}
示例2:打开一个名为test.bin
的二进制文件
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("test.bin", "rb");
if(fp == NULL) {
printf("File open error!\n");
return -1;
}
printf("File opened successfully!\n");
fclose(fp);
return 0;
}
2. 读取文件数据
使用fread
函数读取文件数据,函数原型如下:
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
ptr
:指向数据存储的内存地址size
:要读取字节数count
:要读取的数据项数目stream
:文件指针
示例:读取test.txt
文件中的全部数据
#include <stdio.h>
int main() {
FILE *fp;
char buffer[1024];
fp = fopen("test.txt", "r");
if(fp == NULL) {
printf("File open error!\n");
return -1;
}
fread(buffer, sizeof(char), 1024, fp);
printf("File content:\n%s\n", buffer);
fclose(fp);
return 0;
}
文件写操作
1. 打开文件
使用fopen
函数打开文件,函数原型同文件读操作。
示例:以写方式打开test.txt
文件
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("test.txt", "w");
if(fp == NULL) {
printf("File open error!\n");
return -1;
}
printf("File opened successfully!\n");
fclose(fp);
return 0;
}
2. 写入文件数据
使用fwrite
函数写入文件数据,函数原型如下:
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
ptr
:指向数据存储的内存地址size
:每个数据项占用的字节数count
:要写入的数据项数目stream
:文件指针
示例:向test.txt
文件中写入数据
#include <stdio.h>
#include <string.h>
int main() {
FILE *fp;
char buffer[1024] = "Hello World!";
fp = fopen("test.txt", "w");
if(fp == NULL) {
printf("File open error!\n");
return -1;
}
fwrite(buffer, sizeof(char), strlen(buffer), fp);
printf("File has been written successfully!\n");
fclose(fp);
return 0;
}
综上所述,C语言实现文件读写功能的流程包括打开文件、读/写文件、关闭文件三个步骤,可以通过fopen
函数打开文件,通过fread
函数读取文件数据,通过fwrite
函数写入文件数据,最后通过fclose
函数关闭文件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言实现文件读写功能流程 - Python技术站