sscanf疑问
Int main{int iRet = 0char sBuf[] = "a|b|c|d";char sbuf1; char sbuf2char sbuf3;char sbuf4; memset(sbuf1, 0, sizeof(sbufl)); memset(sbuf2, 0, sizeof(sbuf2));memset(sbuf3, 0, sizeof(sbuf3));memset(sbuf4, 0, sizeof(sbuf4));iRet = sscanf(sBuf,"%[^|]|%[^|]|%[^|]|%[^|]|", sbuf1, sbuf2, sbuf3, sbuf4);
return 0;}
结果:当sBuf为a|b|c|d|时,iRet = 4,sbuf1 = , sbuf2 = , sbuf3 = , sbuf4 = ;
而当sBuf为a||c|d|时,iRet = 4,sbuf1 = , sbuf2 = [], sbuf3 = [], sbuf4 = [];
能否可以对sscanf的输出格式进行优化,用以解决这种情况?
而当sBuf为a||c|d|时,iRet=1
手误{:5_96:}
页:
[1]