Ouverture de fichier avec fopen() [Résolu]

Signaler
Messages postés
4
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
5 août 2004
-
Messages postés
4
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
5 août 2004
-
Salut à tous!

J'ai un petit problème avec du c.
Je suis débutant et je cherche à ouvrir un fichier pour en extraire des données.

Le nom et chemin du fichier seraient demandé à l'utilisateur.

Voila le code auquel je pensais : Ca compile bien, mais ca plante le prog

//----------------------------------------------------------------------------

unsigned char fichier;

printf("Veuillez renseigner le chemin et le nom du fichier :\n\t");
scanf("%s",&fichier); //exemple de fichier : "d:\\test.cpm"


fichierCPM=fopen(fichier,"rb");

//----------------------------------------------------------------------------

Merci d'avance pour votre aide.

8 réponses

Messages postés
221
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
11 décembre 2008

FILE * fichierCPM;
unsigned char fichier[30];//ou utilise un pointeur, mais bon a toi de voir

printf("Veuillez renseigner le chemin et le nom du fichier :\n\t");
gets(fichier); //exemple de fichier : "d:\\test.cpm"
fichierCPM=fopen(fichier,"rb");

j'ai pas tester, j'ai rien sous la main mais ça doit etre OK

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
Messages postés
933
Date d'inscription
dimanche 1 avril 2001
Statut
Modérateur
Dernière intervention
9 janvier 2012
2
Pourquoi ne pas directement utiliser les APIs ?

CreateFile() (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/createfile.asp)
Les autres : ReadFile, WriteFile, SetFilePointer, ...

@+
Arnotic,
Admin CS, MVP Visual C++
Messages postés
4
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
5 août 2004

Y'a pas plus simple?

Je débute et c'est déjà assez la galère.
:D
Messages postés
221
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
11 décembre 2008

fopen te renvoie quoi? Et tu est sur que c'est louverture qui bug?
De plus tu essai de mettre une chaine de caractere dans un caractère... char fichier ne contiendra jamais qu'un caractère...

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
Messages postés
221
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
11 décembre 2008

Quand je te dis tu peut utiliser un pointeur, j'entend une allocation dynamique. fichier est un pointeur!

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
Messages postés
4
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
5 août 2004

Ouai, c'est bien fopen qui bug!

J'ai essayé avec un tableau mais je sais pas le déclarer dans le scanf et le fopen.

Peux-tu me compléter le code STP:
//----------------------------------------------------------------------------

unsigned char fichier[30];

printf("Veuillez renseigner le chemin et le nom du fichier :\n\t");
scanf("%s",&fichier[]); //exemple de fichier : "d:\\test.cpm"

fichierCPM=fopen(fichier[],"rb");

//----------------------------------------------------------------------------

Merci
Messages postés
221
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
11 décembre 2008

t'a essayé le code que je t'ai filé

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
Messages postés
4
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
5 août 2004

Merci,

c'est ok avec le pointeur.

@+