sscanf在C

时间:2017-12-04 13:52:44

标签: c scanf

我是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** 

感谢您提供的任何帮助

0 个答案:

没有答案