Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C 语言教程

C 语言首页 C 语言简介 C 语言入门 C 语言语法 C 语言输出 C 语言注释 C 语言变量 C 语言数据类型 C 语言常量 C 语言运算符 C 语言布尔值 C 语言 if...else 语句 C 语言 switch 语句 C 语言 while 循环 C 语言 for 循环 C 语言 break/continue 语句 C 语言数组 C 语言字符串 C 语言用户输入 C 语言内存地址 C 语言指针

C 语言函数

C 语言函数 C 语言函数参数 C 语言作用域 C 语言函数声明 C 语言递归 C 语言数学函数

C 语言文件

C 语言创建文件 C 语言写入文件 C 语言读取文件

C 语言结构体

C 语言结构体

C 语言枚举

C 语言枚举

C 语言内存

C 语言内存管理

C 语言参考

C 语言参考 C 语言关键字 C 语言 <stdio.h> C 语言 <stdlib.h> C 语言 <string.h> C 语言 <math.h> C 语言 <ctype.h>

C 语言示例

C 语言示例 C 语言现实世界中的例子 C 语言练习 C 语言测验 C 语言编译器 C 语言证书

C 标准输入输出库 sscanf() 函数

❮ C 标准输入输出库


示例

从字符串中提取数字

char number[] = "24 hours";
int num;
sscanf(number, "%d", &num);
printf("%d", num);

定义和用法

The sscanf() 函数从 char 数组中读取数据并将其写入由参数指定的内存位置。

The sscanf() 函数在 <stdio.h> 头文件中定义。

format 参数是一个字符串,用于描述从文件中期望的数据格式。如果数组的内容与格式不匹配,则函数会在第一次不匹配的地方停止读取。

format 字符串可以包含 **格式说明符**,这些说明符指定数据的哪些部分应该写入参数。每个格式说明符对应于函数的一个附加参数。有关格式说明符的详细信息,请参阅 scanf() 参考页面


语法

sscanf(char * source, const char * format, arg1, arg2...);

参数值

参数 描述
source 必需。用作数据源的 char 数组。
format 必需。表示从数组中期望的数据格式的字符串。
arg1, arg2... 可选。任意数量的附加参数,它们是指向可以写入值的内存的指针。

技术细节

返回值 一个 int 值,表示写入的参数数量。如果发生错误,它将返回常量 EOF

更多示例

示例

提取数字序列 "1 + 2 = 3"

int a, b, c;
char source[] = "1 + 2 = 3";
sscanf(source, "%i + %i = %i", &a, &b, &c);
printf("a = %d \n", a);
printf("b = %d \n", b);
printf("c = %d \n", c);

示例

读取十六进制数字并输出其十进制值

int num;
char hex[] = "FFAD01";
sscanf(hex, "%x", &num);
printf("%d", num);

示例

在用户输入中搜索 "x"、"y" 或 "z"

char c;
char source[] = "yes";
int found = sscanf(source, "%[xyz]", &c);
if(found > 0) {
  printf("Found %c", c);
} else {
  printf("Character not found");
}

❮ C 标准输入输出库

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.