[ C ] Est-ce que le read lit les caractères '\0' ?

Est-ce que le read lit les caractères '\0' ? [ C ] - C++ - Programmation

Marsh Posté le 14-04-2002 à 22:06:54    

quand on lit un fichier avec read, il s'arrete avant le '\0' de fin de fichier, ou il le met dans le buffer, et s'arrete apres ?

Reply

Marsh Posté le 14-04-2002 à 22:06:54   

Reply

Marsh Posté le 14-04-2002 à 22:22:28    

La fin de fichier c'est pas \0, c'est la fin de chaîne ça.
Et il ne stocke pas la marque de fin de fichier.

 

[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 14-04-2002 à 22:49:52    

antp a écrit a écrit :

La fin de fichier c'est pas \0, c'est la fin de chaîne ça.
Et il ne stocke pas la marque de fin de fichier.  
 
 




 
comment on lui dit d'arreter de lire, a la fin du fichier ?
on est obliger de faire ça avec la taille ?

Reply

Marsh Posté le 14-04-2002 à 22:50:37    

et stocke t-il le caractere fin de chaine '\0' ?
(et c'est quoi au fait, le caractere fin de fichier ?)

Reply

Marsh Posté le 14-04-2002 à 22:57:12    

djoh a écrit a écrit :

 
 
comment on lui dit d'arreter de lire, a la fin du fichier ?
on est obliger de faire ça avec la taille ?  




Avec EOF


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 14-04-2002 à 23:01:22    

Ou quand read renvoie une valeur plus petite que celle qu'on lui a demandé de lire.
Le \0 il s'en fout il le lit comme si c'était un autre caractère (on parle bien des fonctions open, read, write, close)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 14-04-2002 à 23:33:11    

antp a écrit a écrit :

Ou quand read renvoie une valeur plus petite que celle qu'on lui a demandé de lire.
Le \0 il s'en fout il le lit comme si c'était un autre caractère (on parle bien des fonctions open, read, write, close)  




 
ok, impecable
merci   :jap:

Reply

Marsh Posté le 14-04-2002 à 23:36:10    

[SDF]Poire a écrit a écrit :

 
Avec EOF  




 
non, EOF c'est pas pour read
c'est pour les fonctions de la lib standard genre getc.
 
read (ou _read sous windows) retourne zero
quand on lit a la fin du fichier.
il peut renvoyer moins que ce que l'on a demande sans arriver
pour autant a la fin du fichier suivant le type d'entree.
 
LEGREG

 

[jfdsdjhfuetppo]--Message édité par legreg--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 15-04-2002 à 09:30:34    

antp a écrit a écrit :

La fin de fichier c'est pas \0, c'est la fin de chaîne ça.
Et il ne stocke pas la marque de fin de fichier.  
 
 




 
 [:the%20real%20pinzo]  [:the%20real%20pinzo]  
 
heu EOF == \0 dans un  fichier  ..... loool  
 
 
un fichir avec les char non imprimables ca donne ca :
 
coucou les\r\namis comment ca va?\r\n\tglop lgop\n\0
 
 
avec de read de 1
ca ca morche pour un fichier
 
while(*a)
 read(fd,a,1);
 
 [:m@nou]

Reply

Marsh Posté le 15-04-2002 à 09:34:41    

koulip31 a écrit a écrit :

 
while(*a)
 read(fd,a,1);
 
 [:m@nou]  




 
PS : fait un gros buffer de lecture
et comme read te renvoie le nombre de char lut
 
si le nombre de char luts == taille du buffer   tes pas a la fin
si le nombre de char luts < taille du buffer  
ou si nombre de char luts == 0             le fichiedr a ete lut
donc copier tout les char du buffer precedant le \0 et basta

Reply

Marsh Posté le 15-04-2002 à 09:34:41   

Reply

Marsh Posté le 15-04-2002 à 09:46:13    

koulip31 a écrit a écrit :

 
 
 [:the%20real%20pinzo]  [:the%20real%20pinzo]  
 
heu EOF == \0 dans un  fichier  ..... loool  
 
 
un fichir avec les char non imprimables ca donne ca :
 
coucou les\r\namis comment ca va?\r\n\tglop lgop\n\0
 
 
avec de read de 1
ca ca morche pour un fichier
 
while(*a)
 read(fd,a,1);
 
 [:m@nou]  




 
T'as bu ou quoi ?
Tu fous un \0 en plein milieu d'un fichier ça ne provoque pas pour autant une coupure du fichier.
Tous les programmes (sauf ton exemple) lisent le fichier au-delà de ce \0.

 

[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed