si il fait comme ça il va lui manquer "imdisplay" dans sa fonction system...
en gros il faut que tu fabrique la commande que tu taperais dans la fenetre cmd.
int main()
{
char fichier[255];
printf("entre le nom de l'image : ");
scanf("%s", fichier);
char *commande = malloc(10+strlen(fichier));
sprintf(commande, "%s %s", "imdisplay", fichier);
system(commande);
free(commande);
return 0;
}
explications :
- le printf affiche du texte a l'ecran (dans la console)
- le scanf qui suit sert a recuperer ce que tu tapes dans la console, ici il s'agit du nom de ton fichier "image.ppm", il faut que ce nom ne fasse pas plus de 255 caracteres... tu devrais avoir de la marge.
- ensuite on crée la chaine de caractere qui va contenir la commande a passer a la fonction system();
on fabrique un tableau de caractere de taille 10 + la taille de ton nom d'image, le 10 correspond a la taille de "imdisplay ".
- on ecrit dans la chaine commande le texte qui va bien grace a la fonction sprintf qui marche sensiblement comme printf.
- on lance system(commande);
- on libere la memoire aloué par le malloc.
- on quitte.
Enjoy