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