1. 程式人生 > >sscanf函式拆分字串

sscanf函式拆分字串

  1 #include <stdio.h>                                                                                          
  2 #include <stdlib.h>
  3 #include <string.h>
  4 int main()
  5 {
  6     char data[64] = {"{\"nvr_ip\":\"192.168.1.143\",\"nvr_diskusage\":\"normal\"}"};
  7     printf("%s\n",data);
  8     char nvr_ip[32],nvr_diskusage[32];
  9
 10     sscanf(data,"{%[^,],%[^}]}",nvr_ip,nvr_diskusage);
 11     printf("%s\n",nvr_ip);
 12     printf("%s\n",nvr_diskusage);
 13
 14     char recv_ip[32];
 15     sscanf(nvr_ip,"%*[^:]:%s",recv_ip);
 16     printf("%s   %ld\n",recv_ip,strlen(recv_ip));
 17
 18     char recv_diskusage[32];
 19     sscanf(nvr_diskusage,"%*[^:]:%s",recv_diskusage);
 20     printf("%s    %ld\n",recv_diskusage,strlen(recv_diskusage));
 21
 22     char ip[32];
 23     sscanf(recv_ip,"\"%[^\"]",ip);
 24     printf("%s\n",ip);
 25
 26     char diskusage[32];
 27     sscanf(recv_diskusage,"\"%[^\"]",diskusage);
 28     printf("%s\n",diskusage);
 29 }

image.png