sscanf()函数

 
 
sscanf 读取格式化的字符串中的数据。
 
swscanf 是 sscanf 的宽字符版本;swscanf 的参数是宽字符串。
 
sscanf不处理多字节的十六进制字符。swscanf不处理 Unicode 全角十六进制或"兼容性区"字符。
 
除此以外,swscanfsscanf 的行为完全相同。
 
解    释 字符串中读进相符的数据
必须的头文件 <stdio.h>
sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin(stdin是标准输入,一般指键盘输入到缓冲区里的东西。))为输入源,前者以固定字符串为输入源。
例子:输入含有结构体的字符串数组
sscanf(str,"%s%s",a[n].s1,a[n].s2);

举个例子

代码:

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 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<<n<<endl;
13     }
14     return 0;
15 }

就是将输入的字符串存到int类型的n中,这样就比直接写for循环将数字型字符串转换为数干净多了。。。

其他的应该暂且用不到,先不深究了,就这样,溜了。

原文地址:https://www.cnblogs.com/ZERO-/p/7118300.html