我是C的新手,当我尝试使用sscanf读取某些值时,我遇到了一个问题。问题是sscanf正确地读取所有值除了当我试图读取的int的值是08或00043时,它从零开始,后跟数字。
这是我正在使用的代码
Mystruct* readme(char const* input) {
int value1;
char value2[CONST_LENGTH];
sscanf(input, "%*s %i %s", &value1, value2);
return anotherfunction(value1, value2);
}
所以当输入是这样的 数据08数据
我得到的是 value1 = 0 和 value2 = 8
输入格式的其他示例 - >输出
data 098 data2 -> what i get is **value1=0** and **value2=88**
data 0007474 data2 -> what i get is **value1=3900** and **value2=data2**
data 08787 data2 -> what i get is **value1=0** and **value2=8787**
data 001212 data2 -> what i get is **value1=650** and **value2=data2**
感谢您提供的任何帮助