C语言格式化输入与扩展字符集详解
1. 格式化输入函数概述
在C语言中,除了用于格式化输出的printf系列函数,C库还提供了一系列用于格式化输入的函数,包括fscanf(从任意流读取)、scanf(从标准输入读取)和sscanf(从字符串读取)。以下是一个从标准输入读取一行三个双精度值的示例代码:
double a[3]; /* Read and process an entire line with three double values. */ if (scanf(" %lg %lg %lg ", &a[0], &a[1], &a[2]) < 3) { printf("not enough input values!\n"); }不过,这些函数比printf更难使用,并且在一些细微的约定上与printf有所不同。
2. 格式化说明符
格式化说明符的一般语法为[XX][WW][LL]SS,各部分含义如下:
| 部分 | 含义 |
| ---- | ---- |
| XX |*表示赋值抑制 |
| WW | 字段宽度,即最大输入字符数 |
| LL | 修饰符,选择目标类型的宽度 |
| SS | 说