Tu dois prévoir la place, pour que scanf te copie les octets dedans.
Actuellement to char *toto pointe n'importe où.
->
char toto[128];
ou bien
char *toto = (char*)malloc(256);
avant de demander à scanf de te copier des octets, selon le format que tu lui communiques, depuis l'entrée standard.
-> si tu es sûr que ça tient dans 127 caractères
char toto[128];
scanf("%127s", toto);
printf("\n%s\n");
return 0;
mais si ce n'est que pour lire des chaînes (pas des entiers, hexa ...)
préférer fread
=> man scanf; man fread
Hope this helps.
# Chaîne en C -> allocation
Posté par Sisyphe Plâtrier . En réponse au message scanf s'arrête au espaces. Évalué à 3.
Actuellement to char *toto pointe n'importe où.
->
char toto[128];
ou bien
char *toto = (char*)malloc(256);
avant de demander à scanf de te copier des octets, selon le format que tu lui communiques, depuis l'entrée standard.
-> si tu es sûr que ça tient dans 127 caractères
char toto[128];
scanf("%127s", toto);
printf("\n%s\n");
return 0;
mais si ce n'est que pour lire des chaînes (pas des entiers, hexa ...)
préférer fread
=> man scanf; man fread
Hope this helps.