我收到了带引号的子字符串的参数ASCII字符串。 某些子字符串可能为空,例如“”。 我正在尝试使用sscanf解码字符串并将值输入到一组参数中。 我的问题是,当字符串为null时,sscanf从那时开始会返回垃圾。 所以我怀疑我没有为任务创建正确的说明符。 例子
char testString[] = "\"string1\",\"\",\"\"";
给出结果
string1,P~�,
而
char testString[] = "\"string1\",\" \",\" \"";
给出结果
string1, ,
总的来说,我期望使用空字符串的结果是:
string1,,
sscanf语句是
int i = sscanf(testString, "\"%[^\"]\",\"%[^\"]\",\"%[^\"]\",", string1, string2, string3);
在第一种情况下sscanf返回1,在第二种情况下返回3。 所以我的问题是我需要使用什么格式说明符来处理空字符串。
非常感谢