Probleme avec le fgetc.....

raziel62 Messages postés 53 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 17 septembre 2005 - 8 sept. 2004 à 22:25
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 - 22 oct. 2004 à 14:15
salut,
j'ai un prob en C avec la fonction fgetc.

Je voudrai mettre dans une variable le contenu d'un fichier .txt puis l'afficher

j'ai fait ce code mais il marche pas

#include <stdio.h>
#include
#include <stdlib.h>
FILE *fichier;
char mot;
void main()
{
fichier = fopen ("mot.txt", "w+");
mot = fgetc(fichier);
fclose(fichier);
printf ("%c", mot);
}

31 réponses

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
8 sept. 2004 à 22:28
tu ouvres en ecriture ton fichier :

fichier = fopen ("mot.txt", "r");

Marchera mieux je pense :)

++
0
raziel62 Messages postés 53 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 17 septembre 2005
8 sept. 2004 à 22:55
merci de ton aide mais non ça marche toujours pas :/ c'est bizarre.

peut etre parceque j'utilise dev-c++ comme compilateur.
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
8 sept. 2004 à 22:57
nan, c standard donc pas de pb de ce coté la ...
euh, verifie que fichier ne soit pas nulle apres fopen.
0
cs_eRoZion Messages postés 241 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 8 octobre 2007 1
9 sept. 2004 à 03:01
Je viens de verifier avec dev et ca passe (avec borland et vc aussi).

En "w+" c'est normal que ca ne fonctionnait pas.
Par contre en "r" ca marche c'est sur.

eRoZion
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_eRoZion Messages postés 241 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 8 octobre 2007 1
9 sept. 2004 à 03:03
J'y pense, peut-etre que ca ne marche pas parce que tu n'as pas refait le fichier mot.txt effacé lors de tes tests avec "w+".
Recreer-le et essaye avec "r".

eRoZion
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 sept. 2004 à 09:20
je C po si ça va t'aider, mé G ça ds ma lib BFichierTxt

BString plomp=BFichierTxt::getContenu("done.b");
après, on fait ce qu'on ve avec...

au fait : mot = fgetc(fichier);
ça récupère qu'une lettre

++
Magic Nono: l'informagicien! 8-)
0
NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
9 sept. 2004 à 10:56
Je sais pas non plus si ca va aider mais j'ai déjà eu quelques problèmes avec ce genre de syntax, fopen( "fichier.txt", ...);

Avec le répertoire courant et compagnie ...

Depuis ce temp, soit j'utilise ".\\fichier.txt" ou utilise les arguments de main() ou GetModuleFileName() pour spécifier un path complet

Je sais que "fichier.txt" et ".\\fichier.txt" c'est suposé revenir au même mais faut pas si fier, exemple de "fichier.txt" avec GetPrivateProfileString(), la fonction va regarder dans le Windows directory plutôt que dans le répertoire courant alors il faut l'indiquer de cette facon ".\\fichier.txt" << répertoire courant de l'application.

Le répertoire courant de l'application peu être modifier par l'application elle-même ou une autre. Ce n'est pas `safe`

Voilà, simple petite remarque ...

~(.:: NitRic ::.)~
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 sept. 2004 à 11:00
pas si fier > pas s'y fier

tu conseille quoi?

placer le rep courant ds la BdR au lancement?

et faire ts les appels en absolu?

++

Magic Nono: l'informagicien! 8-)
0
cs_eRoZion Messages postés 241 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 8 octobre 2007 1
9 sept. 2004 à 12:01
nono > effectivement ca paraitlogique mais ilfaut préciser que fgec ne récupère qu'un seul octet

Pour ce qui est du problème du dossier courant lors du lancement d'un programme console en 32 bit (pour dos jamais de problème à ce niveau) et bien c'est très facilement résolvable.
Lorsque je m'étais retrouvé face à ce problème, j'avais découvert dans dir.h un mot clef "chdir" qui associé à un buffer contenant l'argv[0] un peu modifié apportait la solution.

Cherche un peu c'est très facile une fois qu'on a le mot clef.

eRoZion
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 sept. 2004 à 14:13
chercher ??? quoi?

pour ce qui es des interfaces js de pb de répertoire car je spécifie tjs OFN_NOCHANGEDIR ds mes CFileDialog

Magic Nono: l'informagicien! 8-)
0
cs_eRoZion Messages postés 241 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 8 octobre 2007 1
9 sept. 2004 à 14:13
Au fait ca marche sous win et sous linux ce "chdir". ;)

eRoZion
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 sept. 2004 à 14:15
lol
8 secondes sans se concerter

record à battre
0
cs_eRoZion Messages postés 241 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 8 octobre 2007 1
9 sept. 2004 à 14:17
nono > sous bc++, je créais des fichiers cpp avec notepad que je compilais directement en ligne de commande et ça me faisait ce problème.

Je ne connaissais pas ton astuce mais le vrai problème cest que je ne connais pas les CFileDialog. Une petite info rapide ?

eRoZion
0
NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
9 sept. 2004 à 14:22
CFileDialog, CString, CList, CStdioFile, ...
Microsoft Foundation Class (Visual C++)

~(.:: NitRic ::.)~
0
cs_eRoZion Messages postés 241 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 8 octobre 2007 1
9 sept. 2004 à 14:26
Ah ok, merci.
C'est vrai que je regarde jamais du côté des mfc. Je devrais me tenir plus au courant même si je ne les utilise pas.

eRoZion
0
NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
9 sept. 2004 à 14:41
Boff ... ne pas connaître les MFC's ... tu ne manque rien du tout, croit moi ...

~(.:: NitRic ::.)~
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 sept. 2004 à 14:43
certes, n'empeche que tant qu'à développer sous VC,
autant les utiliser, L st là pr ça...

Magic Nono: l'informagicien! 8-)
0
NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
9 sept. 2004 à 15:05
C'était une opinion personnelle. Ce n'est pas parce que certains fichiers viennent avec un logiciel X qu'il faut obligatoirement les utiliser. Enfin bref, chacun fait/utilise/... ce qu'il veut et quand il le veut hein! :)

~(.:: NitRic ::.)~
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
9 sept. 2004 à 15:10
ma reponsable de stage
me chante les louanges de C++ à tt bou de champ
et
je vous assure qu'en imagerie elle exploite à font les accélération ds ts les sens, mais pr l'interface des soft de ma boite, C du tt MFC...
surchargé avec ses lib perso (type mes BVisuel)

Car autant utilisé ce qui est déjà fait et ne pas tjs réinventer la roue...

++
Magic Nono: l'informagicien! 8-)
0
NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
9 sept. 2004 à 15:47
Bah ... il n'est pas question de réinventer quoi que ce soit ici :)

Les boites qui dev des soft user-friendly ou autres du genre vont utiliser des libs/mod/... déjà tout fait, le dev est beaucoup moin loin et ca leur coute moin cher, ceux qui dev des jeux tel BattleField, NFS, quake, etc ... des firewall/antivirus/même os etc ... n'utiliseront jamais ce type de lib/mod/... et heureusement ... tout dépend des besoins du projet en question ... Même MS utilise que très peu ce qu'ils dev eux-même ... enfin bref ...

chacun utilise ce qu'il veut et de la facon qu'il le désire tout en dépendant de leur besoin ...

~(.:: NitRic ::.)~
0
Rejoignez-nous