stdio.h 是C语言中最常用的头文件之一,提供了许多用于输入输出操作的函数。本章将详细介绍 stdio.h 中的各个功能及其用法。
文件操作函数
fopen() 函数
fopen() 函数用于打开一个指定的文件,并返回一个指向 FILE 类型的指针。这个指针可以用来进行后续的读写操作。
函数原型:
FILE *fopen(const char *filename, const char *mode);
参数说明:
filename: 指定要打开的文件名。mode: 指定文件打开的方式,如 "r" 表示只读,"w" 表示写入并覆盖原有内容,"a" 表示追加到文件末尾等。
返回值:
- 成功时,返回一个指向 FILE 的指针。
- 失败时,返回 NULL。
示例代码:
// www.javascriptcn.com code example
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("example.txt", "r");
if (fp == NULL) {
perror("Error opening file");
return -1;
}
// 进行读取操作
fclose(fp); // 关闭文件
return 0;
}fclose() 函数
fclose() 函数用于关闭由 fopen() 打开的文件。
函数原型:
int fclose(FILE *stream);
参数说明:
stream: 要关闭的文件指针。
返回值:
- 成功时,返回 0。
- 失败时,返回 EOF。
示例代码:
// www.javascriptcn.com code example
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("example.txt", "r");
if (fp == NULL) {
perror("Error opening file");
return -1;
}
// 进行读取操作
fclose(fp); // 关闭文件
return 0;
}文件读写函数
fprintf() 函数
fprintf() 函数用于向文件中写入格式化的数据。
函数原型:
int fprintf(FILE *stream, const char *format, ...);
参数说明:
stream: 指向文件的指针。format: 输出格式字符串。...: 可变参数列表。
返回值:
- 成功时,返回写入的字符数。
- 失败时,返回负值。
示例代码:
// www.javascriptcn.com code example
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("output.txt", "w");
if (fp == NULL) {
perror("Error opening file");
return -1;
}
fprintf(fp, "Hello, World!\n");
fclose(fp);
return 0;
}fscanf() 函数
fscanf() 函数用于从文件中读取格式化的数据。
函数原型:
int fscanf(FILE *stream, const char *format, ...);
参数说明:
stream: 指向文件的指针。format: 输入格式字符串。...: 可变参数列表。
返回值:
- 成功时,返回读取的数据项数。
- 遇到文件结束或错误时,返回 EOF。
示例代码:
// www.javascriptcn.com code example
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("input.txt", "r");
if (fp == NULL) {
perror("Error opening file");
return -1;
}
int number;
fscanf(fp, "%d", &number);
printf("Read number: %d\n", number);
fclose(fp);
return 0;
}错误处理函数
perror() 函数
perror() 函数用于打印一个描述错误的字符串到标准错误输出。
函数原型:
void perror(const char *s);
- 参数说明:
s: 自定义的错误信息字符串。
示例代码:
// www.javascriptcn.com code example
#include <stdio.h>
#include <errno.h>
int main() {
FILE *fp;
fp = fopen("nonexistent.txt", "r");
if (fp == NULL) {
perror("Error opening file");
}
return 0;
}总结
本章节详细介绍了 stdio.h 中的文件操作和读写函数。这些函数是进行文件输入输出的基础,掌握了它们,就可以在C语言程序中方便地进行文件处理。通过具体的示例代码,我们可以更好地理解和应用这些函数。
继续深入学习,您将能够灵活运用 stdio.h 中的各种功能来实现复杂的文件操作需求。