Я пытаюсь понять, как работает sscanf()
. Я привел несколько примеров из этой страницы: http://docs.roxen.com/pike/7.0/tutorial/strings/sscanf.xml, и они не работают на моей платформе. Я не понимаю, почему. Например: «sscanf (« 4711bar »,«% d% s », a, b); делает выход программы с ошибкой ...Метод sscanf() неоднозначное поведение
Вот один из примеров, которые работают: «sscanf (« foo »,« f% s », a);». Кто-нибудь знает, почему? Они работают на ваших платформах? Спасибо.
Это мой код:
int main(void){
char *b = (char*)malloc(sizeof(char)*100);
int a = 0;
sscanf("4711bar", "%d%s", a, b);
printf("%d", a);
printf("%s", b);
}
Я уверен, вы не проходят действующие указатели на переменные ... –
Документация вы смотрите на ** не для C или C++, но совсем по другой язык * *. –
Кроме того, [не набрасывайте возвращаемое значение 'malloc()'] (http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc/605858#605858). –