#include<stdio.h>
#include<string.h>
#define INFO_MAX_SZ 255
typedef struct {
char level[16];
char ssid[36];
}JOSEPH_WIFI_AP_MESSAGE;
int main()
{
JOSEPH_WIFI_AP_MESSAGE scan_ap_message[10];
char buf[INFO_MAX_SZ] = "NJQY@80$kj_lji18@49$yjy@48$PON@46$TP-LINK_NAT@44$emitest@47$";
int i = 0;
int flag = 0;
char * out_ptr = NULL;
char * in_ptr = NULL;
char * ptr = buf;
char * p = NULL;
memset(scan_ap_message, 0, sizeof(JOSEPH_WIFI_AP_MESSAGE) * 10);
while((p = strtok_r(ptr, "$", &out_ptr)) != NULL)
{
//printf("p = %s\n", p);
while((p = strtok_r(p, "@", &in_ptr)) != NULL)
{
if(0 == flag)
{
strcpy(scan_ap_message[i].ssid, p);
flag = 1;
}
else
{
strcpy(scan_ap_message[i].level, p);
flag = 0;
}
p = NULL;
}
i++;
ptr = NULL;
}
int j = 0;
for(j = 0; j < i ; j++)
{
printf("%s | %s\n", scan_ap_message[j].ssid, scan_ap_message[j].level);
}
}
strtok_r使用实例
最新推荐文章于 2024-04-21 09:33:39 发布