C语言输入输出函数详解
1. 格式化行输入输出
1.1 可靠的输入读取方法
在处理特定类型的输入时,有一种更可靠的方法,即逐行处理输入。这种方法的优点在于,不会读取跨越多行的一组值,并且能够检测输入行中值的数量是否过多或过少。例如,通过尝试转换五个值,可以判断输入行是否符合要求。
1.2 处理可变格式输入
对于可能存在多种不同格式的面向行输入,可以使用相关技术进行处理。具体步骤如下:
1. 使用 fgets
读取一行输入。
2. 使用多个 sscanf
对读取的行进行扫描,每个 sscanf
使用不同的格式。
3. 第一个成功转换出预期数量值的 sscanf
确定输入行的格式。
以下是一个处理可变格式输入的示例代码:
/*
** Variable format input processing with sscanf
*/
#include <stdio.h>
#include <stdlib.h>
#define
DEFAULT_A
1
/* or whatever ... */
#define
DEFAULT_B
2
/* or whatever ... */
void
function( char *buffer )
{
int
a, b, c;
/*
** See if all three values ar