文件是存储在辅助存储设备上的数据集合,分为文本文件和二进制文件。
文件操作包括打开、读取、写入、定位和关闭。
文件指针文件指针是一个指向FILE结构的指针,用于跟踪文件的读写状态。
通过文件指针,可以对文件进行各种操作。
FILE *fp;fp = fopen("example.txt", "r"); // 打开文件进行读取if (fp == NULL) { // 处理错误}fclose(fp); // 关闭文件文件的打开与关闭使用fopen()函数打开文件,需要指定文件名和模式(如"r"、“w”、"a"等)。使用fclose()函数关闭文件,释放文件指针和相关的资源。
FILE *fp = fopen("example.txt", "w"); // 打开文件进行写入if (fp == NULL) { // 处理错误}fclose(fp); // 关闭文件文件的读写使用fread()和fwrite()函数进行二进制文件的读写。使用fscanf()和fprintf()函数进行格式化的读写,类似于scanf()和printf()。
// 写入数据fprintf(fp, "Hello, world!\n");fclose(fp);// 读取数据char buffer[100];fp = fopen("example.txt", "r");fgets(buffer, 100, fp);fclose(fp);printf("Read from file: %s", buffer);文件定位使用fseek()函数可以设置文件的位置指针。使用ftell()函数可以获取文件的位置指针。使用rewind()函数可以将文件的位置指针重置到文件开头。
fseek(fp, 0, SEEK_END); // 定位到文件末尾long size = ftell(fp); // 获取文件大小rewind(fp); // 重置文件指针到开头标准I/O库函数C语言提供了一套标准I/O库函数,如printf()、scanf()、getchar()、putchar()等。这些函数通常用于处理标准输入输出(stdin、stdout、stderr)。
int num;printf("Enter a number: ");scanf("%d", &num);printf("You entered: %d\n", num);错误处理文件操作可能会遇到错误,如文件不存在、权限不足等。使用ferror()函数可以检查文件操作是否发生错误。使用perror()函数可以打印出与errno相关的错误信息。
if (ferror(fp)) { perror("File error");}总结:文件操作是C语言编程中不可或缺的部分,它允许程序读取和写入数据到持久存储。掌握文件指针的使用、文件的打开与关闭、读写操作、定位以及标准I/O库函数,能够使你更加灵活地处理文件和数据,提高程序的实用性和交互性。同时,正确的错误处理能够确保程序的健壮性和可靠性。