sscanf char*
时间: 2024-01-16 22:17:47 浏览: 148
sscanf函数是C语言中的一个输入函数,用于从字符串中读取格式化输入。它的原型如下:
```c
int sscanf(const char *str, const char *format, ...);
```
其中,str是要读取的字符串,format是格式字符串,...是要读取的变量。
在引用中的示例中,使用了格式字符串"%*s"。这个格式字符串中的星号*表示忽略匹配的字符串,s表示匹配一个字符串。因此,"%*s"的作用是跳过一个字符串,不进行匹配和保存。在示例中,字符串"aaaaaa"被跳过,最终输出的结果是空字符串。
在引用中的示例中,使用了格式字符串"%[^1-9]"。这个格式字符串中的乘方号^表示匹配除了指定字符范围之外的字符,[^1-9]表示匹配除了数字1到9之外的任意字符。因此,"%[^1-9]"的作用是匹配并保存除了数字1到9之外的字符。在示例中,字符串"abcdef12345aaa"中的数字部分被跳过,最终输出的结果是字符串"abcdef"。
示例代码如下:
```c
#include <stdio.h>
int main() {
char buffer[256] = {0};
// 示例1
sscanf("aaaaaa", "%*s", buffer);
printf("%s\n", buffer); // 输出:空字符串
// 示例2
sscanf("abcdef12345aaa", "%[^1-9]", buffer);
printf("%s\n", buffer); // 输出:abcdef
return 0;
}
```
阅读全文