char *lang=malloc(3);
*lang="en";
et ca fait planter la TI je c pa pqoi

liquid
: je ne suis aps d'accord, strncpy prend plus de place que strcpy dans un prgm et strcpy copie jusque rencontre du caractere '\0' donc ca ne doit a priori pas planter si on fait pas n'importe quoi
Pollux
: Voilà, après tout dépend de l'utilisation qu'on veut en faire. Si un petit programme plante quand on lui donne un nom de fichier de 200 caractères, ben c pas la mort parce qu'il fallait juste pas jouer au con.
Après, si on programme sur PC et qu'on veut faire un truc secure, faut commencer à faire gaffe, mais sur TI c pas super grave. Et on peut toujours rajouter des vérifications avec strlen...
Si un programme plante, c'est toujours un bogue. En tout cas, cette remarque me laisse supposer pas mal de trucs sur la stabilité de GTools Compiler...
Personnellement, vu comment tu programmes (ou du moins comment tu dis programmer), je ne laisserai pas ce truc même s'approcher de ma calculatrice.
Kevin Kofler
:liquid
: je ne suis aps d'accord, strncpy prend plus de place que strcpy dans un prgm et strcpy copie jusque rencontre du caractere '\0' donc ca ne doit a priori pas planter si on fait pas n'importe quoi
N'importe quoi. Utiliser strcpy sur une chaîne dont la longueur n'est pas connue à l'avance (ou plutôt dont aucune borne supérieure raisonnable pour la longueur n'est connue à l'avance) est toujours un bogue!
Pollux
: Voilà, après tout dépend de l'utilisation qu'on veut en faire. Si un petit programme plante quand on lui donne un nom de fichier de 200 caractères, ben c pas la mort parce qu'il fallait juste pas jouer au con.
Si un programme plante, c'est toujours un bogue.
Après, si on programme sur PC et qu'on veut faire un truc secure, faut commencer à faire gaffe, mais sur TI c pas super grave. Et on peut toujours rajouter des vérifications avec strlen...
C'est la moindre des choses à faire. Mais du coup, strncpy devient souvent plus simple.