Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1496 connectés 

  FORUM HardWare.fr
  Programmation

  [C/C++] Problème avec getc(), value 26, EOF???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C/C++] Problème avec getc(), value 26, EOF???

n°39069
korben
Posté le 12-06-2001 à 14:52:25  profilanswer
 

Salut
J'écris des bytes (char en C) dans un fichier avec putc. J'écris des valeurs allant de 0 à 100. Lorsque je relis le fichier avec la fonction getc(), lorsqu'il lis la valeur 26, il l'interprète apparemment comme un EOF. Alors, je dois faire comment pour que mon programme ne plante pas à chaque fois que la valeur 26 est écrite.  
! J'écris en format binaire(getc, putc), pas en ASCI(fscanf, fprintf)!
 
Merci de me prouver que ce forum est encore utile.
@+


---------------

mood
Publicité
Posté le 12-06-2001 à 14:52:25  profilanswer
 

n°39075
tgrx
My heart is pumping for love
Posté le 12-06-2001 à 14:57:45  profilanswer
 

Et si tu lis/ecris par bloc avec des fread()/fwrite(), ca ne fonctionne pas ?

n°39081
korben
Posté le 12-06-2001 à 15:04:41  profilanswer
 

Oui, sauf qu'il me semble que fread/fwrite ne fonctionne pas avec un buffer. Autrement dit, si tu écris un million de char, tu auras un million d'accès disque. Alors que getc/putc bufferise, donc attend que tu aies envoyer plusieurs putc pour les écrire réellement.
Mon problème est que je dois écrire plusieurs centaine milliers de byte dans un fichier, par série de 1000/2000. Et si j'ai 500'000 accès disque, je suis un peu mal.
Merci


---------------

n°39084
tgrx
My heart is pumping for love
Posté le 12-06-2001 à 15:15:20  profilanswer
 

euh... non... fread/fwrite fonctionnent avec un buffer. Et d'autre part je pense que tu peux en assigner un avec une fonction style
 
setbuf(buffer, taille_du_buffer);

n°39098
korben
Posté le 12-06-2001 à 15:39:48  profilanswer
 

Ok. Merci pour l'info. Je viens de trouver la solution. Il s'agit apparemment d'une macro qui convertit la valeur 26 en EOF(-1) lorsque l'on est en mode texte. Il faut donc ouvrir le fichier avec l'argument b (binaire) ("wb" ou "rb", par exemple) et le problème est résolu.
Merci pour ton aide. Tu bosses dans quoi? Etudiant?


---------------

n°39101
tgrx
My heart is pumping for love
Posté le 12-06-2001 à 15:43:57  profilanswer
 

Etudiant en stage... je fais du rendu volumique sur des fluides.
http://forum.hardware.fr/sqlforum/ [...] inc&cache=

n°39103
korben
Posté le 12-06-2001 à 15:49:03  profilanswer
 

Sympa ton travail. Tu as souvent des réponses correctes sur ce forum? Parce que perso, en hardware, pour ainsi dire rien. Mais sous programmation, cela va déja mieux. Mais cela dépend des sujets. Parce qu'il n'y a rien de pire qu'un type qui veut répondre absolument alors qu'il n'y connait rien.
En espérant pouvoir te donner un coup de main prochainement.
@+


---------------

n°39106
tgrx
My heart is pumping for love
Posté le 12-06-2001 à 15:52:35  profilanswer
 

Programmation, c'est le forum bon esprit de HFR. J'ai un peu navigue sur tous les autres, mais c'est pas genial, Hardware ca devient pourri avec le iench, O/c c'est n'importe quoi, HA/V c'etait bien jusqu'a recemment, donc je traine ici de plus en plus souvent, et je dois dire que la population de programmation est assez restreinte et attachante :), ca fait un peu "petite famille"... ;)

n°39108
korben
Posté le 12-06-2001 à 15:59:24  profilanswer
 

Oui, totalement d'accord. Les gars qui jouent à Q3 et bavent devant des bi-processeurs ou qui conseillent n'importe quoi.... pour moi, bof bof. Peut-être qu'il est plus facile de remettre qqn à sa place dans "Programmation". Plus facile de tester les connaissances d'un gars. Et moins d'avis à la con, du style "C++ c'est de la merde. J'ai écrit un code et cela m'a sorti 2 erreurs et 3 warnings". Alors qu'avec Intel, W2K, Geforce... c'est bcp plus facile les "Ca marche pas chez moi donc c'est de la merde".
@+


---------------


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C/C++] Problème avec getc(), value 26, EOF???

 

Sujets relatifs
le input en html et son value[DirectX] Problème avec la compilation
Problème de base avec Perl & ApacheProbleme avec lotus note et java
[Delphi] ptit probleme avec les socketsprobleme de redirection download (language html ou java)
[WorldCraft] - CS - Problème de lumière dans ma map[C++] Problème avec random
problème insoluble ... (en tout cas pour moi ;))[C++] Problème avec le chargement des données d'un fichier
Plus de sujets relatifs à : [C/C++] Problème avec getc(), value 26, EOF???


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR