vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 2010
-
16 juil. 2004 à 11:59
yoannyoannyoann
Messages postés3Date d'inscriptionmardi 20 mars 2007StatutMembreDernière intervention21 mars 2007
-
8 avril 2007 à 20:21
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
yoannyoannyoann
Messages postés3Date d'inscriptionmardi 20 mars 2007StatutMembreDernière intervention21 mars 2007 8 avril 2007 à 20:21
voila j'ai un probleme similaire ...
je ne comprends pas le probleme.
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE * fp;
int test = 3;
int read = 0;
printf("%d \n", read);
int * pointeursurtest = &test;
int * pointerread = &read;
fp = fopen("annuaire.bin", "a+");
fwrite(pointeursurtest,sizeof(int), 1,fp);
fread(pointerread,sizeof(int), 1,fp);
printf("%d" , read);
fclose(fp);
getch();
return 0;
}
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 3 août 2004 à 14:39
snip8 > on est dans le monde 32 bits depuis fort longtemps et le 64 est a nos portes.
int est 32 bits sur processeur 32 bits.
snip8
Messages postés12Date d'inscriptionsamedi 31 juillet 2004StatutMembreDernière intervention11 août 2004 3 août 2004 à 14:36
Y a quand même une belle erreur !
tu stockes 1000000 dans int qui ne peut pas dépasser 32767 donc c'est pas étonnant que sa ne marche pas.
Stocke dans un long.
Scalpweb
Messages postés1467Date d'inscriptionsamedi 13 mars 2004StatutMembreDernière intervention 5 mai 20104 16 juil. 2004 à 15:32
Sinon, bonne prog je trouve
fumiste
Messages postés2Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention16 juillet 2004 16 juil. 2004 à 13:42
Oui comme le dis vecchio56, il a raison, les fichier binaires peuvent etre ecrit et lut, sans aucun problem ta juste fais une erreur
pour ouvrir un fichier en binaire (fread,fwrite)
faut utiliser fichier=fopen("fichier","rb")
voila c tout.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 16 juil. 2004 à 12:26
Et en appelant direct les fonctions de Windows, pas de probleme c'est toujours binaire car aucune couche d'interpretation au milieu, aspire ou tamponne des paquets d'octets tout simplement.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 16 juil. 2004 à 11:59
Qu'est ce que tu racontes?? On peut écrire les octets 25 et 26 sans problèmes, c'est la deuxième partie de ton main qui ne marche pas.
Un fichier binaire s'ouvre en "wb" et pas en "w"
8 avril 2007 à 20:21
je ne comprends pas le probleme.
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE * fp;
int test = 3;
int read = 0;
printf("%d \n", read);
int * pointeursurtest = &test;
int * pointerread = &read;
fp = fopen("annuaire.bin", "a+");
fwrite(pointeursurtest,sizeof(int), 1,fp);
fread(pointerread,sizeof(int), 1,fp);
printf("%d" , read);
fclose(fp);
getch();
return 0;
}
3 août 2004 à 14:39
int est 32 bits sur processeur 32 bits.
3 août 2004 à 14:36
tu stockes 1000000 dans int qui ne peut pas dépasser 32767 donc c'est pas étonnant que sa ne marche pas.
Stocke dans un long.
16 juil. 2004 à 15:32
16 juil. 2004 à 13:42
pour ouvrir un fichier en binaire (fread,fwrite)
faut utiliser fichier=fopen("fichier","rb")
voila c tout.
16 juil. 2004 à 12:26
16 juil. 2004 à 11:59
Un fichier binaire s'ouvre en "wb" et pas en "w"