Probleme de lecture de fichier... - C++ - Programmation
Marsh Posté le 26-05-2003 à 17:02:24
faut pas utilser eof mais regarder le retour du scanf plutot
EDIT : et si tu a un fichier plus grand que 120*160 tu prevois quoi?
Marsh Posté le 26-05-2003 à 17:06:16
polo021 a écrit : faut pas utilser eof mais regarder le retour du scanf plutot |
ok,
le fichier sera jamais plus grand que 120*160, car la taille est définie en const.
Marsh Posté le 26-05-2003 à 17:13:18
surtout que c'est du pgm, tu peux lire les dimensions dans le fichier
Marsh Posté le 26-05-2003 à 17:24:36
++Taz a écrit : surtout que c'est du pgm, tu peux lire les dimensions dans le fichier |
c'est sur, mais vu que l'image provient d'une acquisition video, dont j'ai fixé la résolution....je me fait meme pas chier avec l'header de mon *.pgm!
Marsh Posté le 26-05-2003 à 17:26:35
sbbtn a écrit : |
et le jour où tu veux changer la résolution ?
Marsh Posté le 26-05-2003 à 17:27:09
par contre le float et le %d je le sens pas trop...
tu peux gagner en mémoire: au lieu d'utiliser des int, tu peux utilsier des short (%hd), voir de unsigned char
edit: et ta pile te dira merci
Marsh Posté le 26-05-2003 à 17:28:30
hellbilly a écrit : |
Je la changerais jamais, c juste pour tester une fonction, car là je suis chez moi et je n'ai pas accès à la caméra en question!!
Sinon, en fait, je ne m'en sorts pas:
est ce que quelqu'un pe me mettre le code avec le "scanf"
parce que je crois que j'ai mal saisi l'histoire...
Marsh Posté le 26-05-2003 à 17:32:52
scanf retourne le nombre d'elements correctement convertis, 1 dans ton cas, sauf problème.
par contre ton parcours l'est bizarre, j'aurais fait ça avec 2 for imbriqués
Marsh Posté le 26-05-2003 à 16:56:49
Voila, j'ai mis le code suivant dans mon prog, logiquement il devrait s'arreter quand c'est la fin du fichier (image.pgm)
mais il continue ce con!!
Et j'ai pas d'erreur de compilation:
float image[120][160];
FILE *pf=fopen("image0.pgm","r" );
while (!feof(pf))
{
fscanf(pf,"%d",&image[i][j]);
j++;
if (j==160)
{
j=0;i++;
}
}
une idée???