problème de fread - C - Programmation
Marsh Posté le 09-09-2004 à 17:37:54
c'est bon, j'ai trouvé, c'est sizeof(char) et pas sizeof(char *)
halala, c'est la fatigue tout ça...
Marsh Posté le 09-09-2004 à 18:16:20
sizeof(char) == 1 par définition, alors fait toi plaisir, mets 1 à la place
Marsh Posté le 09-09-2004 à 18:20:34
mais si aprés, emporté par le mouvement, je me met à mettre 4 au lieu de sizeof(char *)par exemple, et qu'aprés je change d'archi, dieu seul sait la ou ça pourra mener
donc, vive sizeof()
Marsh Posté le 09-09-2004 à 19:04:53
Je crois que la taille de char est la même sur toutes les architectures.
Marsh Posté le 10-09-2004 à 00:17:57
ReplyMarsh Posté le 10-09-2004 à 00:20:08
WhatDe a écrit : Je crois que la taille de char est la même sur toutes les architectures. |
en terme de sizeof, en terme de 'byte' au sens C (plus petite unité addressable) oui
Marsh Posté le 09-09-2004 à 17:28:08
Salut à tous, j'ai un pitit problème avec la fonction fread:
je vous explique, je lis un fichier, et quand j'affiche ce que je lis, visiblement, ça déborde sur la fin.
Je me suis dit que c'était parceque mon buffer était pas fermé et prenait ce qui trainnais dans la ram où je ne sais ou.
j'ai donc essayé de bloquer le buffer avec un '\0'
mais la, ça bloque tellement bien que ça sort de la boucle.
voila mon code
while (i = fread(&buf, sizeof(char *), BUF_SIZE, fd))
{
buf[i ] = '\0';
printf("%s\n", buf);
}
si vous avez une pitite idée, merci de m'en faire part