Programme C ou est mon érreur ?
Résolu/Fermé
Aurelien.67
Messages postés
18
Date d'inscription
jeudi 23 octobre 2014
Statut
Membre
Dernière intervention
18 décembre 2014
-
Modifié par Whismeril le 17/12/2014 à 19:11
Aurelien.67 Messages postés 18 Date d'inscription jeudi 23 octobre 2014 Statut Membre Dernière intervention 18 décembre 2014 - 18 déc. 2014 à 16:43
Aurelien.67 Messages postés 18 Date d'inscription jeudi 23 octobre 2014 Statut Membre Dernière intervention 18 décembre 2014 - 18 déc. 2014 à 16:43
A voir également:
- Programme C ou est mon érreur ?
- Erreur 0x80070643 - Accueil - Windows
- Programme demarrage windows 10 - Guide
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
15 déc. 2014 à 11:59
15 déc. 2014 à 11:59
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;
Aurelien.67
Messages postés
18
Date d'inscription
jeudi 23 octobre 2014
Statut
Membre
Dernière intervention
18 décembre 2014
7
Modifié par Aurelien.67 le 16/12/2014 à 09:48
Modifié par Aurelien.67 le 16/12/2014 à 09:48
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)
Aurelien.67
Messages postés
18
Date d'inscription
jeudi 23 octobre 2014
Statut
Membre
Dernière intervention
18 décembre 2014
7
>
gnu
16 déc. 2014 à 10:05
16 déc. 2014 à 10:05
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);
}
gnu
>
Aurelien.67
Messages postés
18
Date d'inscription
jeudi 23 octobre 2014
Statut
Membre
Dernière intervention
18 décembre 2014
16 déc. 2014 à 10:25
16 déc. 2014 à 10:25
Ben pourquoi tu as changé le fclose ?
Et "rx" au lieu de "r" dans le fopen ? C'est quoi ce x ?
Et "rx" au lieu de "r" dans le fopen ? C'est quoi ce x ?
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");
}
}
15 déc. 2014 à 12:04
http://gd.tuwien.ac.at/languages/c/programming-bbrown/c_075.htm
15 déc. 2014 à 15:43
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().
15 déc. 2014 à 15:52
15 déc. 2014 à 16:07
ça ne sera pas suffisant...
15 déc. 2014 à 16:22