sscanf返回值

admin 32 0

`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)。