C 语言输入和输出功能详解173


在计算机编程中,输入和输出(I/O)功能对于与用户交互、处理数据和与外部设备通信至关重要。C 语言提供了广泛的函数和机制,使程序员能够轻松高效地进行输入和输出操作。

输入功能

C 语言通过 stdio.h 库提供了以下输入函数:

scanf() 函数


scanf() 函数从标准输入设备(通常是键盘)读取格式化的数据。其语法为:int scanf(const char *format, ...);

其中,format 字符串指定要读取数据的格式,后续的省略号 (...) 表示可变数量的参数,这些参数将被读取并存储在相应的变量中。

getchar() 函数


getchar() 函数从标准输入读取单个字符。其语法为:int getchar(void);

它返回一个整数,表示读取的字符的 ASCII 码。

gets() 函数


gets() 函数从标准输入读取一行文本并将其存储在字符串变量中。其语法为:char *gets(char *str);

请注意,gets() 函数不安全,因为它不检查缓冲区溢出,因此不建议使用。

输出功能

C 语言通过 stdio.h 库提供了以下输出函数:

printf() 函数


printf() 函数将格式化的数据写入标准输出设备(通常是控制台)。其语法为:int printf(const char *format, ...);

其中,format 字符串指定要打印数据的格式,后续的省略号 (...) 表示可变数量的参数,这些参数将被转换为格式化的字符串并打印到标准输出。

putchar() 函数


putchar() 函数将单个字符写入标准输出。其语法为:int putchar(int c);

其中,c 是要打印的字符的 ASCII 码。

puts() 函数


puts() 函数将字符串写入标准输出,并追加一个换行符。其语法为:int puts(const char *str);

它返回一个非零值表示成功,或 -1 表示失败。

I/O 操作符

C 语言还提供了以下 I/O 操作符:

输入操作符 (<<)


<< 操作符用于从标准输入读取数据并将其存储在变量中。例如:int num;
cin >> num;

输出操作符 (>>)


>> 操作符用于将数据写入标准输出。例如:int num = 10;
cout << "Number: " << num << endl;

文件 I/O

C 语言还支持通过文件进行输入和输出。以下是几个关键函数:

fopen() 函数


fopen() 函数打开一个文件并返回一个文件指针。其语法为:FILE *fopen(const char *filename, const char *mode);

其中,filename 是要打开的文件名,mode 指定打开模式(例如,"r" 表示只读,"w" 表示只写)。

fread() 和 fwrite() 函数


fread() 和 fwrite() 函数分别用于从文件读取数据和向文件写入数据。它们的语法为:size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);

其中,ptr 是数据缓冲区的指针,size 是每个元素的大小,nmemb 是要读取或写入的元素数,stream 是文件指针。

fclose() 函数


fclose() 函数关闭一个文件。其语法为:int fclose(FILE *stream);

最佳实践

以下是进行 C 语言输入和输出操作的一些最佳实践:* 始终验证输入数据,以确保其合法且不会损坏程序。
* 使用 I/O 重定向来将输入和输出发送到文件或其他设备。
* 使用格式化字符串来控制输出的格式。
* 妥善处理文件,并在完成操作后关闭文件。
* 考虑使用 C++ 的流库,它提供了更高级和类型安全的 I/O 功能。

2024-11-03


上一篇:在 C 语言中优雅地输出空格

下一篇:C 语言控制输入输出