C 标准库 - <stdio.h>
概述
<stdio.h>
是 C 语言标准库中的一个头文件,它包含了用于输入输出操作的函数声明。这些函数主要用于处理文件读写、格式化输出、字符输入输出等操作。stdio.h
是 "standard input/output" 的缩写,它提供了一组丰富的函数,使得 C 程序能够与用户进行交互,以及处理文件系统。
主要功能
文件操作
fopen()
: 打开一个文件。fclose()
: 关闭一个文件。fprintf()
: 格式化输出到文件。fscanf()
: 从文件中格式化输入。fread()
: 从文件读取数据。fwrite()
: 向文件写入数据。
标准输入输出
printf()
: 格式化输出到标准输出(通常是屏幕)。scanf()
: 从标准输入(通常是键盘)读取格式化数据。getchar()
: 从标准输入读取一个字符。putchar()
: 向标准输出写一个字符。
错误处理
perror()
: 输出错误信息。errno
: 一个包含错误码的变量。
缓冲区操作
fflush()
: 清空输出缓冲区。setbuf()
: 设置流缓冲区。
其他
remove()
: 删除一个文件。rename()
: 重命名一个文件。tmpfile()
: 创建一个临时文件。
示例
打开和关闭文件
#include <stdio.h>
int main() {
FILE *file;
file = fopen("example.txt", "w");
if (file == NULL) {
perror("Error opening file");
return -1;
}
fclose(file);
return 0;
}
格式化输出
#include <stdio.h>
int main() {
int age = 30;
printf("I am %d years old.\n", age);
return 0;
}
读取输入
#include <stdio.h>
int main() {
int number;
printf("Enter a number: ");
scanf("%d", &number);
printf("You entered: %d\n", number);
return 0;
}
注意事项
- 使用
fopen()
打开文件时,需要检查返回的文件指针是否为NULL
,以判断文件是否成功打开。 - 使用
fclose()
在操作完成后关闭文件,以释放资源。 - 使用
scanf()
和fscanf()
时,需要确保格式字符串与要读取的数据类型匹配,以避免缓冲区溢出或数据读取错误。 - 在使用文件操作函数时,注意文件的打开模式(如 "r" 表示只读,"w" 表示写入,"a" 表示追加等)。
总结
<stdio.h>
是 C 语言中用于处理标准输入输出和文件操作的重要头文件。它提供了一系列功能强大的函数,使得 C 程序能够方便地进行数据读写和格式化输出。掌握 <stdio.h>
中的函数对于 C 语言编程至关重要。