📅  最后修改于: 2023-12-03 15:35:09.486000             🧑  作者: Mango
stdio.h
是 C 标准函数库中的头文件,它提供了标准输入输出操作的函数和常量。
在使用 stdio.h
头文件时,需要添加预编译指令 #include <stdio.h>
到程序中。
以下是 stdio.h
头文件中常用的函数及其作用:
用于将格式化的数据输出到标准输出流中。
int printf(const char *format, ...);
format
:格式化字符串,可以包含转义序列和格式标识符。...
:可选的多个参数,用于替换格式标识符。示例:
int age = 20;
printf("My age is %d.\n", age);
输出:
My age is 20.
从标准输入流中读取格式化输入,并将读取的值存储到指定的变量中。
int scanf(const char *format, ...);
format
:格式化字符串,可以包含转义序列和格式标识符。...
:可选的多个指向变量的指针,用于存储读取的值。示例:
int age;
printf("Enter your age: ");
scanf("%d", &age);
printf("You are %d years old.\n", age);
输入:
Enter your age: 25
输出:
You are 25 years old.
从标准输入流中读取一个字符。
int getchar(void);
示例:
int c;
printf("Enter a character: ");
c = getchar();
printf("You entered: ");
putchar(c);
输入:
Enter a character: A
输出:
You entered: A
将一个字符输出到标准输出流中。
int putchar(int c);
c
:待输出的字符。示例:
putchar('A');
输出:
A
从指定的流中读取一行,包括换行符。
char *fgets(char *str, int n, FILE *stream);
str
:指向存储读取字符串的缓冲区的指针。n
:读取的字符数量。stream
:可选的指向文件流的指针,如果为 NULL
则读取标准输入流。示例:
char buffer[256];
printf("Enter a string: ");
fgets(buffer, sizeof(buffer), stdin);
printf("You entered: %s", buffer);
输入:
Enter a string: Hello world!
输出:
You entered: Hello world!
用于文件的读写操作。
FILE *fopen(const char *filename, const char *mode);
int fclose(FILE *stream);
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
int fseek(FILE *stream, long int offset, int origin);
filename
:要读写的文件名。mode
:打开文件的模式,包括 "r"
(只读)、"w"
(写)、"a"
(追加)等。stream
:指向文件流的指针。ptr
:指向要读写的数据的指针。size
:每个数据块的字节数。count
:要读写的数据块的数量。offset
:要移动的字节数。origin
:SEEK_SET
(从文件开头偏移)、SEEK_CUR
(从当前位置偏移)或 SEEK_END
(从文件末尾偏移)之一。示例:
#include <stdio.h>
int main()
{
FILE *fp;
char str[] = "Hello, world!\n";
char buffer[256];
// 写入文件
fp = fopen("test.txt", "w");
fwrite(str, sizeof(str[0]), sizeof(str)/sizeof(str[0]), fp);
fclose(fp);
// 读取文件
fp = fopen("test.txt", "r");
fread(buffer, sizeof(char), sizeof(buffer), fp);
printf("Content of file:\n%s", buffer);
// 关闭文件
fclose(fp);
return 0;
}
输出:
Content of file:
Hello, world!
以下是 stdio.h
头文件中常用的常量:
NULL
:空指针常量。EOF
:文件结束符常量。printf
和 scanf
的参数数量不固定,因此在使用时需要特别注意格式字符串和可变参数的匹配。