demo2000 a écrit :
je fais des traitements sur un fichier comme suit :
in = fopen(argv[1], "rb" ); //argv[1]=name-file ----> fichier source
out = fopen(strcat(argv[1],".NEW" ), "wb" );
|
|
Marche pas.
argv[] est certes modifiable, mais pas extensible. Le comportement est indéfini.
D'autre part, en admettant que argv[] soit exensible, tu l'as modifié avec
Donc
efface le .NEW, ce qui n'est probablement ce que tu veux. Il faut créer des chaines distinctes et de tailles suffisantes. malloc() est ton ami...
Message édité par Emmanuel Delahaye le 21-06-2005 à 19:46:37
---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/