C语言实习---ssanf函数
用法1:利用sscanf将字符串分解成字符串和数值
字符串:Modbus,1,2,遥信,0X00,99
#define _CRT_SECURE_NO_DEPRECATE #include <iostream> #include <stdio.h> int main() { char a[100]; int d[100]; //第1列,第2列,第3列,第4列,第5列,第6列 char s[256] = "Modbus,1,2,遥信,0X00,99"; //char s[256] = "1,1,2,1,1,1"; //Modbus sscanf(s, "%[^,] ,%*[^, ]", a); std::cout << "第1列:" << a << "\n"; //1 sscanf(s, "%*[^,] , %[^,]", a); sscanf(a, "%d", &d[0]); std::cout << "第2列:" << d[0] << "\n"; //2 sscanf(s, "%*[^,] ,%*[^, ], %[^,]", a); sscanf(a, "%d",&d[0]); std::cout << "a:" << a << "\n"; std::cout << "第3列:" << d[0] << "\n"; //遥信 sscanf(s, "%*[^, ],%*[^, ],%*[^, ],%[^,] ,%*[^, ]", a); std::cout << "第4列:" << a << "\n"; //0X00 sscanf(s, "%*[^, ],%*[^, ],%*[^, ],%*[^, ],%[^,] ,%*[^, ]", a); std::cout << "第5列:" << a << "\n"; //99 sscanf(s, "%*[^,] ,%*[^, ],%*[^, ],%*[^, ],%*[^, ], %[^,]", a); sscanf(a, "%d", &d[0]); std::cout << "第6列:" << d[0] << "\n"; }
输出
第1列:Modbus 第2列:1 第3列:2 第4列:遥信 第5列:0X00 第6列:99