
Envoyé par
babar56
Mon programme crée un fichier qui se nomme, par exemple :
Wolfram - Loi=454 - Pas=44.ppm
Ahhh! OK, C'est un nom de fichier.... Comme tu le passais à system(), j'étais aveuglé... Je voyais une ligne de commande...
Alors, il ne faut pas mettre de " supplémentaires si tu ouvres un fichier avec fopen().
(Ton code de test était stressant : fclose() avec NULL, ca secoue...)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char filename[1024];
int loi = 4;
int p = 125;
sprintf(filename, "Wolfram - Loi=%d - Pas=%d.ppm", loi, p);
printf("%s\n", filename);
{
FILE *fichier = fopen(filename, "w");
if (fichier != NULL)
{
fclose(fichier);
}
else
{
perror (filename);
}
}
system ("dir w*");
return 0;
} |
1 2 3 4 5 6 7 8 9 10 11
|
Wolfram - Loi=4 - Pas=125.ppm
Le volume dans le lecteur C s'appelle 427409
Le numéro de série du volume est 8873-ADFB
Répertoire de C:\dev\forums\OP
15/04/2006 22:26 0 Wolfram - Loi=4 - Pas=125.ppm
15/04/2006 22:17 0 Wolfram.ppm
2 fichier(s) 0 octets
0 Rép(s) 143 881 388 032 octets libres |
Par contre, pour system(), il faut mettre les " supplémentaires, car c'est un nom entier... Mais j'ai un doute quand même. Ca pourrait bien ne pas fonctionner. C'est quand même une drôle de manip d'appeler une application par un fichier... Comme l'extension va se retrouver dans les " ", elle risque d'être ignorée par le shell...
Tu ne veux pas plutôt appeler la commande explicitement :
system ("commande \"nom de fichier avec des espaces\"");
Partager