菜单
×
   ❮   
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 stdio sscanf() 函数

❮ C stdio 库


示例

从字符串中提取数字

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

定义和用法

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

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 stdio 库

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持