| [C] Erreur du programme à l'execution. | |
|
|
Auteur | Message |
---|
Fl_0RI@/\/ 54 hyper posteur
Nombre de messages : 459 Age : 32 Classe/Métier (si enseignant, précisez) : T SSI spé queu dalle. Date d'inscription : 29/01/2006
| Sujet: [C] Erreur du programme à l'execution. Lun 5 Juin - 17:59 | |
| Bonjour (stardeath ) ! Je suis sur un projet en C. Lorsque j'essaie de compiler le programme, mon IDE (Dev-cpp) ne m'indique aucune erreur. Pourtant, lors de l'execution, il ne fait pas les tâches escomptées. Je comprend vraiment rien. Voilà le code source: - Code:
-
#ifndef DEF_COM #define DEF_COM
// Ariane v. 1.0 ________ // auteur: Florian Simon _______ // fichier: Commandes.h _______
// Structure de commandes typedef struct CommandeStructure CommandeStructure; struct CommandeStructure { char actionCommande; char nomCommande; char descriptionCommande; };
// lanceurDaliases void lanceurDaliases();
// help void help(FILE *fichier); #endif - Code:
-
#include <stdio.h> #include <stdlib.h> #include <string.h> #include "Commandes.h" // Ariane v. 1.0 ________ // auteur: Florian Simon _______ // fichier: Help.c ________
void help(FILE* fichier) { // def de var et presentation printf("Menu d'aide.\n\n"); char chaine[100] = {0}; int x = 0; system("CLS"); while (fgets(chaine,1000,fichier) != NULL) { x++; if (x % 3 == 0) { printf("\n"); x = 0; } printf(" %s",chaine); } printf("\n\n"); } - Code:
-
#include <stdio.h> #include <stdlib.h> #include <string.h> #include "Commandes.h" // Ariane v. 1.0 ________ // auteur: Florian Simon _______ // fichier: LanceurDaliases.c _______
void lanceurDaliases() { // Initialisation de variables long i = 0; char commande[100] = "DEFAULT"; int boucle = 0; FILE *fichier = NULL; int nombreLignes = 0; char chaine[100] = {0}; int nombreAliases = 0; char chaine2[100] = {0}; char chaine3[100] = {0}; char chaine4[100] = {0}; FILE *fichier2 = NULL; // Verification de l'ouverture du fichier fichier = fopen("AliasList.config","r"); if (fichier == NULL) exit(0); // Compter le nombre de lignes dans le fichier while (fgets(chaine,1000,fichier) != NULL) { nombreLignes++; } // On rewinde rewind(fichier); // Nombres D'aliases nombreAliases = (nombreLignes / 3); // Verif du nombre d'aliases if (nombreLignes % 3 != 0) { printf("\nFichier d'aliases corrompu\n\n"); system("Pause"); exit(0); } // Boucle principale while (boucle = 0) { system("CLS"); // on rewinde rewind(fichier); // Présentation printf("Bienvenue dans le lanceur d'aliases ! Entrez une commande ou tapez help pour de l'aide.\n");
// Demande de l'user scanf("%s",commande); // Si on tape help if (strcmp(commande,"help")) { help(fichier); } // Si on tape quit if (strcmp(commande,"quit")) { help(fichier); } // On cherche un alias while (fgets(chaine,1000,fichier) != NULL || strcmp(chaine,commande) != 0) { strcmp(chaine,commande); } // Dans le cas ou aucun alias n'est trouvé if (fgets(chaine,1000,fichier) == NULL) { system("CLS"); printf("Alias inconnu.\n"); } // on rewinde rewind(fichier); // On cherche un alias while (fgets(chaine,1000,fichier) != NULL || strcmp(chaine,commande) != 0) { strcmp(chaine,commande); }
// Ouvrir fichier2 fichier2 = fopen("prog.bat","w"); if (fichier2 == NULL) { system("CLS"); printf("Erreur de lancement de l'alias !\n\n"); system("pause"); exit(0); } // On récupère la commande correspondant à l'alias fgets(chaine,1000,fichier); // Et on l'ecrit dans le fichier fprintf(fichier2,"%s",chaine); // On lance le fichier, et voilà, l'alias et lancé ! system("start C:\\Program Files\\Ariane\\prog.bat"); } fclose(fichier); fclose(fichier2); } - Code:
-
#include <stdio.h> #include <stdlib.h> #include <string.h> #include "Commandes.h" // Ariane v. 1.0 ________ // auteur: Florian Simon _______ // fichier: Main.c ________
int main(int argc, char *argv[]) { // Declaration de variables int choixDuTypeDoperation = 0; // Présentation... system("CLS"); system("COLOR 0A"); printf("Bienvenue dans Ariane Toolkit v. 1.0 ! Que voulez vous faire ?\n\n"); printf(" 1 - Utiliser le lanceur d'aliases\n"); printf(" 2 - Gerer mes aliases\n\n"); printf("Que choisissez-vous ? "); scanf("%d",&choixDuTypeDoperation); system("CLS"); // Début du switch switch(choixDuTypeDoperation) { case 1: lanceurDaliases(); break; } remove("C:\\Program Files\\Ariane\\prog.bat"); system("PAUSE"); return 0; } Je précise que AliasList.config contient: - Code:
-
shutdown shutdown -s Eteindre l'ordinateur Et comme je suis quelqu'un de très généreux ( ), je vais même balancer le programme: le voilà ! Merci d'avance !!!
Dernière édition par le Mar 6 Juin - 16:51, édité 2 fois | |
|
| |
stardeath Adminimatheur
Nombre de messages : 1036 Classe/Métier (si enseignant, précisez) : Master 2 informatique Localisation : bonne question ... Loisirs : mangas, jeux videos, informatique, coding ... Date d'inscription : 05/02/2006
| Sujet: Re: [C] Erreur du programme à l'execution. Mar 6 Juin - 11:10 | |
| ok heu explique ce que ça doit faire, merci ^^ | |
|
| |
Fl_0RI@/\/ 54 hyper posteur
Nombre de messages : 459 Age : 32 Classe/Métier (si enseignant, précisez) : T SSI spé queu dalle. Date d'inscription : 29/01/2006
| Sujet: Re: [C] Erreur du programme à l'execution. Mar 6 Juin - 16:45 | |
| Ben en fait si t'essaie tu verras que dans la fonction lanceurDaliases() il fait pas le scanf. Je comprend vriament queu dalle ! | |
|
| |
Eximma Adminimatheur
Nombre de messages : 1933 Age : 34 Classe/Métier (si enseignant, précisez) : mp Localisation : St Nazaire (loire atlantique [44]) Mais Lorient en ce moment ^^ Loisirs : Plein de choseuhs Date d'inscription : 15/12/2005
| Sujet: Re: [C] Erreur du programme à l'execution. Mar 6 Juin - 21:21 | |
| - Fl_0RI@/\/ 54 a écrit:
- Ben en fait si t'essaie tu verras que dans la fonction lanceurDaliases() il fait pas le scanf. Je comprend vriament queu dalle !
en fait, je pense qu'il veux savoir a quoi doit servir ton programme ^^' | |
|
| |
stardeath Adminimatheur
Nombre de messages : 1036 Classe/Métier (si enseignant, précisez) : Master 2 informatique Localisation : bonne question ... Loisirs : mangas, jeux videos, informatique, coding ... Date d'inscription : 05/02/2006
| Sujet: Re: [C] Erreur du programme à l'execution. Mer 7 Juin - 11:42 | |
| tout à fait thierry ... heu sasuke | |
|
| |
Fl_0RI@/\/ 54 hyper posteur
Nombre de messages : 459 Age : 32 Classe/Métier (si enseignant, précisez) : T SSI spé queu dalle. Date d'inscription : 29/01/2006
| Sujet: Re: [C] Erreur du programme à l'execution. Mer 7 Juin - 22:59 | |
| Ben en fait mon prog lance une action (batch) quand tu tapes une commande. Mais on m'a dit que scanf() est la fonction responsable de toutes mes erreurs de newb... . Enfin... ^^ | |
|
| |
stardeath Adminimatheur
Nombre de messages : 1036 Classe/Métier (si enseignant, précisez) : Master 2 informatique Localisation : bonne question ... Loisirs : mangas, jeux videos, informatique, coding ... Date d'inscription : 05/02/2006
| Sujet: Re: [C] Erreur du programme à l'execution. Jeu 8 Juin - 11:18 | |
| bon je vais regarder ton truc, par contre si je répond pas, t'inquiète pas, j'ai plein de projets à rendre (cause fin d'année), je suis un peu surbooké ^^ | |
|
| |
Fl_0RI@/\/ 54 hyper posteur
Nombre de messages : 459 Age : 32 Classe/Métier (si enseignant, précisez) : T SSI spé queu dalle. Date d'inscription : 29/01/2006
| Sujet: Re: [C] Erreur du programme à l'execution. Jeu 8 Juin - 23:55 | |
| Eh si je faisais un fclean ... ? | |
|
| |
Keitaro_Ura micro posteur
Nombre de messages : 19 Age : 30 Classe/Métier (si enseignant, précisez) : Collègien Localisation : Cahuzac sur vère Date d'inscription : 17/06/2006
| Sujet: Re: [C] Erreur du programme à l'execution. Sam 17 Juin - 18:02 | |
| Je ne vois pas de problème. | |
|
| |
stardeath Adminimatheur
Nombre de messages : 1036 Classe/Métier (si enseignant, précisez) : Master 2 informatique Localisation : bonne question ... Loisirs : mangas, jeux videos, informatique, coding ... Date d'inscription : 05/02/2006
| Sujet: Re: [C] Erreur du programme à l'execution. Sam 17 Juin - 21:12 | |
| struct CommandeStructure { char actionCommande; char nomCommande; char descriptionCommande; }; déjà t sur que c char?, le type char ne contient qu'un seul caractère
après tu fais while( boucle = 0 ) donc le contenu de la boucle ne s'exécute pas donc ça plante quand tu fais fclose(fichier2);
corrige déjà ça ^^ | |
|
| |
Fl_0RI@/\/ 54 hyper posteur
Nombre de messages : 459 Age : 32 Classe/Métier (si enseignant, précisez) : T SSI spé queu dalle. Date d'inscription : 29/01/2006
| Sujet: Re: [C] Erreur du programme à l'execution. Lun 19 Juin - 20:03 | |
| | |
|
| |
Contenu sponsorisé
| Sujet: Re: [C] Erreur du programme à l'execution. | |
| |
|
| |
| [C] Erreur du programme à l'execution. | |
|