У меня есть это:Странное возвращение ошибка с sscanf
#include<stdio.h>
#include<string.h>
int main(void)
{
int ret;
int major =0, minor= 0, build =0, revision =0;
char entry[16];
strcpy(entry,"1.2");
ret = sscanf(entry,"%d.%d.%d.%d", &major, &minor, &build, &revision);
printf("sscanf(""%s"") returned %d\r\n", entry, ret);
printf("major=%d, minor=%d, build=%d, revision=%d\r\n",
major, minor, build, revision);
return ret;
}
После sscanf
называется, ret
-1, но первые две записи заполнены (главным является 1, несовершеннолетний 2). Я ожидал, что ret
будет 2. Я не знаю, что не так.
Какой компилятор вы используете? Для меня он возвращает два (VC++ 2013) – szczurcio
Работает для меня: http://ideone.com/bK9HKd – interjay
Есть что-то, о чем вы не говорите. –