马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
Int main { int iRet = 0 char sBuf[] = "a|b|c|d"; char sbuf1[10 + 1]; char sbuf2[10 + 1l; char sbuf3[10 + 1]; char sbuf4[10 + 1]; 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 = [a], sbuf2 = [b], sbuf3 = [c], sbuf4 = [d];
而当sBuf为a||c|d|时, iRet = 4,sbuf1 = [a], sbuf2 = [], sbuf3 = [], sbuf4 = [];
能否可以对sscanf的输出格式进行优化,用以解决这种情况?
|