char ch_return[256] = "1||3|4|";
char ch_other1[256] = {0};
char ch_other2[256] = {0};
char ch_other3[256] = {0};
char ch_other4[256] = {0};sscanf(ch_return,"%[^|]|%[^|]|%[^|]|%[^|]|",ch_other1,ch_other2,ch_other3,ch_other4);结果
ch_other1=1
ch_other2=null
ch_other3=null
ch_other4=null当第二个分隔符里没有数据时,后面的就无法正确的获取了,在ch_return="1|2|3|4|"时才可以正确获取;有什么办法解决.
char ch_other1[256] = {0};
char ch_other2[256] = {0};
char ch_other3[256] = {0};
char ch_other4[256] = {0};sscanf(ch_return,"%[^|]|%[^|]|%[^|]|%[^|]|",ch_other1,ch_other2,ch_other3,ch_other4);结果
ch_other1=1
ch_other2=null
ch_other3=null
ch_other4=null当第二个分隔符里没有数据时,后面的就无法正确的获取了,在ch_return="1|2|3|4|"时才可以正确获取;有什么办法解决.
char ch_other1[256] = {0};
char ch_other2[256] = {0};
char ch_other3[256] = {0};
char ch_other4[256] = {0};
CString strDataTemp;
int i = 0;
while (AfxExtractSubString(strDataTemp, ch_return, i++, '|'))
{
if(i==1) sprintf(ch_other1,"%s",strDataTemp);
else if(i==2) sprintf(ch_other2,"%s",strDataTemp);
else if(i==3) sprintf(ch_other3,"%s",strDataTemp);
else if(i==4) sprintf(ch_other4,"%s",strDataTemp);
}