引言在C语言编程中,文件操作是一项基本且重要的技能。通过文件存储与读取,程序能够将数据持久化到磁盘,以便在程序运行结束后仍然保留信息。本文将详细介绍C语言中文件操作的基本概念、常用函数以及实战案例,帮...
在C语言编程中,文件操作是一项基本且重要的技能。通过文件存储与读取,程序能够将数据持久化到磁盘,以便在程序运行结束后仍然保留信息。本文将详细介绍C语言中文件操作的基本概念、常用函数以及实战案例,帮助您轻松掌握文件存储与读取的技能。
文件是存储在计算机存储设备上的数据集合。在C语言中,文件可以存储文本、二进制数据或其他类型的数据。
在C语言中,使用fopen函数打开文件。该函数原型如下:
FILE *fopen(const char *filename, const char *mode);filename:要打开的文件名。mode:打开模式,如“r”表示读取,“w”表示写入。#include
int main() { FILE *fp = fopen("example.txt", "r"); if (fp == NULL) { perror("打开文件失败"); return 1; } // 文件操作 fclose(fp); return 0;
} fgets函数读取文本文件fgets函数用于读取文本文件中的一行。其原型如下:
char *fgets(char *str, int n, FILE *stream);str:用于存储读取内容的缓冲区。n:读取的最大字符数,包括终止符\0。stream:文件流。#include
int main() { FILE *fp = fopen("example.txt", "r"); if (fp == NULL) { perror("打开文件失败"); return 1; } char buffer[1024]; while (fgets(buffer, sizeof(buffer), fp)) { printf("%s", buffer); } fclose(fp); return 0;
} fread函数读取二进制文件fread函数用于读取二进制文件中的数据。其原型如下:
size_t fread(void *ptr, size_t size, size_t nitems, FILE *stream);ptr:用于存储读取内容的缓冲区。size:每个元素的大小。nitems:要读取的元素数量。stream:文件流。#include
int main() { FILE *fp = fopen("example.bin", "rb"); if (fp == NULL) { perror("打开文件失败"); return 1; } char buffer[1024]; size_t items = fread(buffer, sizeof(char), sizeof(buffer), fp); printf("读取了%d个字符\n", items); fclose(fp); return 0;
} fputs函数写入文本文件fputs函数用于将字符串写入文本文件。其原型如下:
int fputs(const char *str, FILE *stream);str:要写入的字符串。stream:文件流。#include
int main() { FILE *fp = fopen("example.txt", "w"); if (fp == NULL) { perror("打开文件失败"); return 1; } fputs("Hello, world!\n", fp); fclose(fp); return 0;
} fwrite函数写入二进制文件fwrite函数用于将数据写入二进制文件。其原型如下:
size_t fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream);ptr:要写入的数据。size:每个元素的大小。nitems:要写入的元素数量。stream:文件流。#include
int main() { FILE *fp = fopen("example.bin", "wb"); if (fp == NULL) { perror("打开文件失败"); return 1; } char buffer[] = "Hello, world!"; size_t items = fwrite(buffer, sizeof(char), sizeof(buffer), fp); printf("写入了%d个字符\n", items); fclose(fp); return 0;
} 使用fclose函数关闭文件。其原型如下:
int fclose(FILE *stream);stream:要关闭的文件流。#include
int main() { FILE *fp = fopen("example.txt", "w"); if (fp == NULL) { perror("打开文件失败"); return 1; } // 文件操作 fclose(fp); return 0;
} 通过本文的介绍,相信您已经掌握了C语言中文件存储与读取的基本技能。在实际编程中,文件操作是不可或缺的一部分,希望本文能帮助您更好地应对文件操作的相关问题。