sscanf 读取格式化的字符串中的数据。
swscanf 是 sscanf 的宽字符版本; swscanf 的参数是宽字符串。
sscanf不处理多字节的十六进制字符。swscanf不处理 Unicode 全角十六进制或"兼容性区"字符。
除此以外, swscanf 和 sscanf 的行为完全相同。
解 释 字符串中读进相符的
必须的头文件 <stdio.h>
- sscanf与scanf类似,都是用于输入的,只是后者以键盘( stdin(stdin是标准输入,一般指键盘输入到缓冲区里的东西。))为输入源,前者以固定字符串为输入源。 例子:输入含有结构体的字符串数组
sscanf(str,"%s%s",a[n].s1,a[n].s2);
举个例子
代码:
1 #include2 #include 3 #include 4 using namespace std; 5 int main(){ 6 int n; 7 char s[100]; 8 while(cin>>s){ 9 int len=strlen(s);10 if(len<10)sscanf(s,"%d",&n);11 else sscanf(s+(len-9),"%d",&n);12 cout< <
就是将输入的字符串存到int类型的n中,这样就比直接写for循环将数字型字符串转换为数干净多了。。。
其他的应该暂且用不到,先不深究了,就这样,溜了。