C语言提供了丰富的文件操作和输入输出功能,使得我们能够读取和写入文件,进行文件的打开和关闭等操作。这些文件操作函数都属于标准库函数,需要包含头文件stdio.h
。
文件操作函数
打开文件
要操作文件,首先需要打开文件。C语言提供了以下函数用于打开文件:
FILE *fopen(const char *filename, const char *mode);
fopen
函数的第一个参数是文件路径和名称的字符串,第二个参数是打开文件的模式。常用的打开文件的模式有:
"r"
:以只读方式打开文件。"w"
:以只写方式打开文件,如果文件不存在则创建新文件,如果文件已存在则清空文件内容。"a"
:以只写方式打开文件,如果文件不存在则创建新文件,如果文件已存在则在文件末尾追加内容。"r+"
:以读写方式打开文件。"w+"
:以读写方式打开文件,如果文件不存在则创建新文件,如果文件已存在则清空文件内容。"a+"
:以读写方式打开文件,如果文件不存在则创建新文件,如果文件已存在则在文件末尾追加内容。
fopen
函数返回的是一个指向FILE
结构的指针,该结构包含了文件的详细信息。
关闭文件
在文件操作完成后,需要关闭文件。可以使用以下函数来关闭文件:
int fclose(FILE *stream);
fclose
函数的参数是一个指向已打开文件的指针。该函数会将文件缓冲区的数据写入磁盘,并释放文件指针所占用的资源。
读取字符
C语言提供了多个函数用于从文件中读取字符:
int fgetc(FILE *stream);
int getc(FILE *stream);
int getchar(void);
这些函数用于从文件中读取一个字符。fgetc
和getc
函数的参数是一个指向已打开文件的指针,getchar
函数没有参数。这些函数会返回读取到的字符。
写入字符
C语言提供了多个函数用于将字符写入文件:
int fputc(int c, FILE *stream);
int putc(int c, FILE *stream);
int putchar(int c);
这些函数用于将一个字符写入文件。fputc
和putc
函数的第一个参数是要写入的字符,第二个参数是一个指向已打开文件的指针,putchar
函数的参数是要写入的字符。这些函数会返回成功写入的字符,如果写入失败,则返回EOF
。
读取字符串
C语言提供了多个函数用于从文件中读取字符串:
char *fgets(char *str, int n, FILE *stream);
int fscanf(FILE *stream, const char *format, ...);
int scanf(const char *format, ...);
int sscanf(const char *str, const char *format, ...);
这些函数可以读取字符串,直到遇到换行符或指定的字符数为止。fgets
函数的第一个参数是一个字符数组,用于存储读取到的字符串,第二个参数是指定读取字符数的整数,第三个参数是一个指向已打开文件的指针。fscanf
函数的第一个参数和scanf
函数的第一个参数用法相同,这两个函数都可以从文件中读取格式化数据。sscanf
函数用于从字符串中读取格式化数据。
写入字符串
C语言提供了多个函数用于将字符串写入文件:
int fputs(const char *str, FILE *stream);
int fprintf(FILE *stream, const char *format, ...);
int printf(const char *format, ...);
这些函数可以将一个字符串写入文件。fputs
函数的第一个参数是要写入的字符串,第二个参数是一个指向已打开文件的指针。fprintf
函数的第一个参数和printf
函数的第一个参数用法相同,这两个函数都可以向文件中写入格式化数据。
示例
下面是一个简单的示例,演示了如何使用C语言的文件操作函数:
#include <stdio.h>
int main() {
// 打开文件
FILE *file = fopen("example.txt", "w");
// 写入字符串
fprintf(file, "Hello, World!\n");
// 关闭文件
fclose(file);
// 重新打开文件
file = fopen("example.txt", "r");
// 读取字符串
char buffer[100];
fgets(buffer, sizeof(buffer), file);
// 输出读取到的字符串
printf("Read from file: %s", buffer);
// 关闭文件
fclose(file);
return 0;
}
这个示例首先打开一个文件example.txt
,然后使用fprintf
函数将字符串"Hello, World!\n"
写入文件。接着重新打开文件,并使用fgets
函数将文件中的内容读取到字符数组buffer
中。最后,使用printf
函数输出读取到的字符串。注意,我们需要在代码的开头包含stdio.h
头文件。
总结起来,C语言提供了丰富的文件操作和输入输出功能,能够应对各种文件处理需求。我们只需要熟悉各个文件操作函数的用法,就能轻松地读取和写入文件。希望这篇博客对你理解C语言中的文件操作和输入输出有所帮助!
本文来自极简博客,作者:时光隧道喵,转载请注明原文链接:C语言中的文件操作和输入输出