`sscanf` 是 C 语言中的一个函数,用于从字符串中读取并解析格式化的输入,它的返回值表示成功匹配和赋值的输入项的数量。
`sscanf` 的返回值是:
* 成功匹配和赋值的输入项的数量。
* 如果到达文件末尾或发生输入失败之前未匹配任何项,则返回 EOF。
* 如果发生输入失败,则返回已匹配的项数。
考虑以下代码:
```c
#include
int main() {
char str[] = "123 456 789";
int a, b, c;
int result = sscanf(str, "%d %d %d", &a, &b, &c);
printf("a = %d, b = %d, c = %d, sscanf returned: %d\n", a, b, c, result);
return 0;
}
输出将是: ```makefile a = 123, b = 456, c = 789, sscanf returned: 3
在这个例子中,`sscanf` 成功匹配并赋值了三个整数,所以返回值为 3。
如果字符串的格式与给定的格式不匹配,例如:
char str[] = "abc 456 789";
那么 `sscanf` 将只匹配并赋值第二个和第三个整数,返回值为 2。 如果字符串为空或格式完全不匹配,例如: ```c char str[] = " ";
那么 `sscanf` 将返回 EOF(在大多数系统上,EOF 的值为 -1)。