Variable dans system(); en C

Fermé
shepard41 Messages postés 15 Date d'inscription samedi 22 mai 2010 Statut Membre Dernière intervention 8 août 2010 - Modifié par shepard41 le 5/08/2010 à 19:43
0beron Messages postés 76 Date d'inscription dimanche 12 juillet 2009 Statut Membre Dernière intervention 15 février 2011 - 9 août 2010 à 14:29
Bonjour,
voila j'ai créer un programme de "recherche"
mais voila quand j'essaye de mettre une variable dans
system("start %s"), chaine; ou system(chaine);

il me met que le programme que je demande d'ouvrir n'est pas reconnu
comment faire? :/
merci pour vos réponses
voici mon code :
#include <stdio.h>   
#include <stdlib.h>   
#include <windows.h>   
#include <conio.h>    
#include <sys/types.h>   
#include <sys/stat.h>   
#include <fcntl.h>    

int main(){   
char prog[200];   
int a;   
printf("quel programme voulez vous lancez?\n");   
scanf("%s", prog);   
    FILE* fichier = NULL;   
    char chaine[400] = "";   
    fichier = fopen(("%s.txt", prog), "r");   
     if (fichier != NULL)   
    {   
        fgets(chaine, 400, fichier);    
        printf("%s\n", chaine);    
        Sleep(1000);   
        fclose(fichier);}   
        else{Sleep(2000);printf(" Erreur Fichier introuvable, ajoutez le a la biblioteque et n'oublier pas le _\n si il y a un espace\n apuyer sur 1 pour l'ajouter a la bibliotheque\n");scanf("%d", &a);if(a==1){system("start ajouter.exe");getch();};}   
        system(chaine);   
        Sleep(6000);}   


les fichiers lut par le programme sont sous cette forme :
"\"C:\\Program Files\\Ccleaner\\Ccleaner.exe\""   


il y a 2 programme appeler par ce programme mais d'aucune importance

1 réponse

0beron Messages postés 76 Date d'inscription dimanche 12 juillet 2009 Statut Membre Dernière intervention 15 février 2011 56
9 août 2010 à 14:29
Bonjour,
Je n'ai pas l'habitude de programmer sous windows, mais pourquoi avoir mis un slash avant le chemin de l'executable? ça ne fonctionne pas mieux avec simplement "C:\\Program Files\\Ccleaner\\Ccleaner.exe\"
Sinon la syntaxe correcte de la fonction systeme est bien system(chaine);
0