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

 

posted @ 2021-03-08 16:46  一牛头  阅读(391)  评论(0编辑  收藏  举报