C语言IO函数详解:字符、字符串与格式化输入输出

需积分: 9 1 下载量 31 浏览量 更新于2024-08-11 收藏 15KB DOC 举报
"C语言常用IO函数" 在C语言中,输入/输出(Input/Output,简称IO)是程序与外部世界交互的主要方式。本资源主要介绍了C语言中的一些常用IO函数,包括字符IO、字符串IO和格式化IO,这些都是进行基本文件操作和控制台交互的基础。 1. **字符IO函数**: - `int getchar()`:这个函数从标准输入流`stdin`读取一个字符。如果成功,它返回读取到的字符,出错则返回EOF(通常为-1)。 - `int fgetc(FILE *fp)`:类似于`getchar()`,但它从指定的文件流`fp`读取一个字符。返回值与`getchar()`相同。 - `int getc(FILE *fp)`:与`fgetc()`功能相同,但可能有更高的编码效率,同时也可以作为宏实现。 - `int putchar(int ch)`:将整型字符`ch`写入标准输出流`stdout`。成功时返回字符,出错返回EOF。 - `int fputc(int c, FILE *fp)`:与`putchar()`类似,但向指定的文件流`fp`写入字符。返回值也与`putchar()`相同。 - `int putc(int c, FILE *fp)`:等同于`fputc()`,具有更高的编码效率,可重定向。 2. **字符串IO函数**: - `char *gets(char *str)`:从`stdin`读取一个字符串(不包括换行符)并存储到`str`中,成功返回`str`的指针,错误则返回`NULL`。请注意,由于安全原因,`gets()`在较新的C标准中已被废弃。 - `char *fgets(char *str, int n, FILE *fp)`:从文件流`fp`读取最多`n-1`个字符(包括换行符)到`str`,并自动添加一个`'\0'`作为字符串结束符。成功返回`str`的指针,遇到EOF或错误则返回`NULL`。 - `int puts(const char *str)`:将字符串`str`输出到`stdout`,并在其后添加一个换行符。成功返回非负值,错误返回EOF。 - `int fputs(const char *str, FILE *fp)`:与`puts()`类似,但向指定的文件流`fp`写入字符串`str`。返回值与`puts()`相同。 3. **格式化IO函数**: - `int scanf(const char *format, ...)`:从`stdin`根据`format`格式化读取数据。成功时返回匹配的项数,出错返回EOF。 - `int fscanf(FILE *fp, const char *format, ...)`:与`scanf()`类似,但从文件流`fp`读取数据。返回值相同。 - `int printf(const char *format, ...)`:将格式化的输出写入`stdout`。成功返回非负值,错误返回EOF。 - `int fprintf(FILE *fp, const char *format, ...)`:将格式化的输出写入文件流`fp`。返回值与`printf()`相同。 这些函数是C语言编程中最基础的IO操作,它们使得程序能够读取用户输入、输出信息、处理文件内容等。理解和熟练运用这些函数对于编写任何C程序都是至关重要的。在实际编程中,还需要注意错误处理、内存管理和缓冲区管理等相关问题,以确保程序的稳定性和安全性。