我有一个逗号分隔的字符串,其中可能包含空字段。例如:
1,2,,4
使用基本的
sscanf(string,"%[^,],%[^,],%[^,],%[^,],%[^,]", &val1, &val2, &val3, &val4);
我获得了空字段之前的所有值,以及从空字段开始的意外结果。
当我从 sscanf() 中删除空字段的表达式时,
sscanf(string,"%[^,],%[^,],,%[^,],%[^,]", &val1, &val2, &val3, &val4);
一切顺利。
由于我不知道什么时候会得到一个空字段,有没有办法重写表达式来优雅地处理空字段?