我有这段代码:
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
如何获得预期值,我的代码有什么问题吗?
答案 0 :(得分:2)
如果您的值长度是固定的,您可能需要指定您尝试捕获的每个值的长度。例如:
sscanf(msg, "%2d%2d%1d%1d%", &num[0], &num[1], &num[2], &num[3]);