如何从字符中提取整数

时间:2015-09-09 07:09:24

标签: c

我有这段代码:

            int num[10]   ;            
            sscanf(msg, "%d%d%d%d%", &num[0], &num[1], &num[2], &num[3]); 
            int x = num[0]; // integer
            int y = num[1]; // integer
            int z = num[2]; // integer
            int c = num[3]; // integer

我从上面的代码中遇到问题,当我写#13; 131249'时,结果是:

x = 177 
y = -8755
z = -21206
c = -246

但预期值

x = 13 
y = 12
z = 4
c = 9

如何获得预期值,我的代码有什么问题吗?

1 个答案:

答案 0 :(得分:2)

如果您的值长度是固定的,您可能需要指定您尝试捕获的每个值的长度。例如:

sscanf(msg, "%2d%2d%1d%1d%", &num[0], &num[1], &num[2], &num[3]);