Programme C ou est mon érreur ?
Résolu
Aurelien.67
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
Aurelien.67 Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
Aurelien.67 Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
Bonjour, quelqu'un pourrait trouver mon erreur svp ? le fichier que je voudrais ouvrir est en .midi
mon programme :
les erreurs sont:
line 11 error: expected expression before 'int'
line 18 error: expected expression before 'int'
EDIT: Ajout de la coloration syntaxique.
mon programme :
#include <stdio.h> #include <stdlib.h> #include <errno.h> #include <fcntl.h> void main(void){ FILE *ptr_fichier; char texte[50]; ptr_fichier = ("D:\\joyeux-anniversaire"); if(int open(char *ptr_fichier ,int O_TEXT ,int S_IREAD)== -1){ printf("erreur ouverture fichier\n"); } else {printf("le fichier à bien été ouvert\n"); } if(int close(int *ptr_fichier)!=NULL){ printf("le fichier à bien été fermé\n");} else{ printf("le fichier ne c'est pas bien fermé\n"); } }
les erreurs sont:
line 11 error: expected expression before 'int'
line 18 error: expected expression before 'int'
EDIT: Ajout de la coloration syntaxique.
A voir également:
- Programme C ou est mon érreur ?
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
- Forcer la fermeture d'un programme - Guide
2 réponses
Bonjour,
void main(void)
Le bon prototype est : int main(void)
De fait, il faut penser à mettre "return 0;" en fin du main() pour signaler qu'il s'est correctement déroulé.
ptr_fichier = ("D:\\joyeux-anniversaire");
Ce n'est pas comme ça que l'on ouvre un fichier. Il faut utiliser la fonction fopen(). Exemple ptr_fichier=fopen("D:\\joyeux-anniversaire\\nomFichier.midi")
Si ptr_fichier vaut NULL c'est qu'il y a eu une erreur à l'ouverture.
Exemple : if (ptr_fichier == NULL)
Pour le fermer : fclose(ptr_fichier), ptr_fichier=NULL;
void main(void)
Le bon prototype est : int main(void)
De fait, il faut penser à mettre "return 0;" en fin du main() pour signaler qu'il s'est correctement déroulé.
ptr_fichier = ("D:\\joyeux-anniversaire");
Ce n'est pas comme ça que l'on ouvre un fichier. Il faut utiliser la fonction fopen(). Exemple ptr_fichier=fopen("D:\\joyeux-anniversaire\\nomFichier.midi")
Si ptr_fichier vaut NULL c'est qu'il y a eu une erreur à l'ouverture.
Exemple : if (ptr_fichier == NULL)
Pour le fermer : fclose(ptr_fichier), ptr_fichier=NULL;
Merci pour vos réponses j'ai tester avec le fopen mais le programme crash au lancement il affiche le fichier à bien été ouvert.
Puis:
"miditest.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru."
le programme :
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main(void){
FILE *ptr_fichier;
ptr_fichier = ("D:\\joyeux-anniversaire.midi");
if(ptr_fichier==NULL)
printf("erreur ouverture fichier\n");
else
printf("le fichier à bien été ouvert\n");
if(fclose(ptr_fichier)!=0)
printf("le fichier à bien été fermé\n");
else
printf("le fichier ne c'est pas bien fermé\n");
return(0);
}
Le but final est de lire la partition en point midi et à l'aide d'une carte easyPIC, contrôler, et d'un programme bien sur, contrôler des l'électroaimant qui devront boucher les troues d'une vrai flûte (c'est un projet de PPE)
Puis:
"miditest.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru."
le programme :
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main(void){
FILE *ptr_fichier;
ptr_fichier = ("D:\\joyeux-anniversaire.midi");
if(ptr_fichier==NULL)
printf("erreur ouverture fichier\n");
else
printf("le fichier à bien été ouvert\n");
if(fclose(ptr_fichier)!=0)
printf("le fichier à bien été fermé\n");
else
printf("le fichier ne c'est pas bien fermé\n");
return(0);
}
Le but final est de lire la partition en point midi et à l'aide d'une carte easyPIC, contrôler, et d'un programme bien sur, contrôler des l'électroaimant qui devront boucher les troues d'une vrai flûte (c'est un projet de PPE)
Merci, mais toujours le même problème
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main(void){
FILE *ptr_fichier;
ptr_fichier = fopen("D:\\joyeux-anniversaire.midi","rx");
if(ptr_fichier==NULL)
printf("erreur ouverture fichier\n");
else
printf("le fichier à bien été ouvert\n");
ptr_fichier = fclose("D:\\joyeux-anniversaire.midi");
if(ptr_fichier==NULL)
printf("le fichier ne c'est pas bien fermé\n");
else
printf("le fichier à bien été fermé\n");
return(0);
}
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main(void){
FILE *ptr_fichier;
ptr_fichier = fopen("D:\\joyeux-anniversaire.midi","rx");
if(ptr_fichier==NULL)
printf("erreur ouverture fichier\n");
else
printf("le fichier à bien été ouvert\n");
ptr_fichier = fclose("D:\\joyeux-anniversaire.midi");
if(ptr_fichier==NULL)
printf("le fichier ne c'est pas bien fermé\n");
else
printf("le fichier à bien été fermé\n");
return(0);
}
Je ferais ça
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main(void){
FILE *ptr_fichier;
ptr_fichier = fopen("D:\\joyeux-anniversaire.mid","r");
if(ptr_fichier==NULL)
printf("erreur ouverture fichier\n");
else
{printf("le fichier à bien été ouvert\n");
if(fclose(ptr_fichier))
printf("le fichier ne c'est pas bien fermé\n");
else
printf("le fichier à bien été fermé\n");
}
}
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main(void){
FILE *ptr_fichier;
ptr_fichier = fopen("D:\\joyeux-anniversaire.mid","r");
if(ptr_fichier==NULL)
printf("erreur ouverture fichier\n");
else
{printf("le fichier à bien été ouvert\n");
if(fclose(ptr_fichier))
printf("le fichier ne c'est pas bien fermé\n");
else
printf("le fichier à bien été fermé\n");
}
}
http://gd.tuwien.ac.at/languages/c/programming-bbrown/c_075.htm
Bref, dans ce cas :
FILE *ptr_fichier;
Ca ne sert à rien.
Plutôt : char *ptr_fichier = "D:\\joyeux-anniversaire.midi";
if(int open(char *ptr_fichier ,int O_TEXT ,int S_IREAD)== -1){
Ce n'est pas comme ça qu'on fait.
Il faut plutôt mettre : if (open(ptr_fichier, ..., ...) ==-1) {
A toi de voir comment valoriser O_TEXT et S_IREAD selon le lien que tu as montreé.
De même pour close().
ça ne sera pas suffisant...