begin process at 2012 05 30 05:00:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

La valeur 26=0x1A pose un problème de lecture de fichier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

La valeur 26=0x1A pose un problème de lecture de fichier

mardi 4 février 2003 à 22:45:02 | La valeur 26=0x1A pose un problème de lecture de fichier

sengr

Salut!

Jsuis en stage et jsuis pas un AS du dévelopement et ca URGE!
J'ai rencontré un BIG problème : le coup du de la valeur 26=0x1A avec les fonctions fwrite et fread.

Voila une illustration du problème:

Je veux par exemple lire les valeurs 48,49,50,51,26,52,53,54,55,56,57,58,59 et 60
(vous aurez remarquer le 26!)

#include<stdio.h>
#include<conio.h>

void main()
{
short valeur;
short tab[14]={48,49,50,51,26,52,53,54,55,56,57,58,59,60} ;
// 26 ou 3610 ca cause le meme problème
//26 = 0000 0000 0001 1010 = 0x1A (on est en short!)
//3610 = 0000 1110 0001 1010 = 0xE1A
FILE *ptr;
ptr = fopen("fichier.txt","w");
for(int i = 0 ; i<14 ; i++)
{
valeur=tab[i];
fwrite(&valeur,sizeof(short),1,ptr);
}
fclose(ptr);
ptr = fopen("fichier.txt","r");
for( i = 0 ; i<14 ; i++)
{
fread(&valeur,sizeof(short),1,ptr);
printf("%i ",valeur);
}
getch();
}

Et au final je lis :
48 49 50 51 51 51 51 51 51 51 51 51 51 51
Bref au lieu de lire 26 ca fait comme si ca marque la fin du fichier.
il en est de même pour 3610 (et d'autres valeurs contenant la valeur 26).
Ca a l'air con comme ca mais je comprends pas !!!
HELP!!!

mardi 4 février 2003 à 23:39:29 | Re : La valeur 26=0x1A pose un problème de lecture de fichier

Kaid


Peut être un problème de mode, essaye un mode binaire (fopen(..., "rb")).

-------------------------------
Réponse au message :
-------------------------------

> Salut!
>
> Jsuis en stage et jsuis pas un AS du dévelopement et ca URGE!
> J'ai rencontré un BIG problème : le coup du de la valeur 26=0x1A avec les fonctions fwrite et fread.
>
> Voila une illustration du problème:
>
> Je veux par exemple lire les valeurs 48,49,50,51,26,52,53,54,55,56,57,58,59 et 60
> (vous aurez remarquer le 26!)
>
> #include<stdio.h>
> #include<conio.h>
>
> void main()
> {
> short valeur;
> short tab[14]={48,49,50,51,26,52,53,54,55,56,57,58,59,60} ;
> // 26 ou 3610 ca cause le meme problème
> //26 = 0000 0000 0001 1010 = 0x1A (on est en short!)
> //3610 = 0000 1110 0001 1010 = 0xE1A
> FILE *ptr;
> ptr = fopen("fichier.txt","w");
> for(int i = 0 ; i<14 ; i++)
> {
> valeur=tab[i];
> fwrite(&valeur,sizeof(short),1,ptr);
> }
> fclose(ptr);
> ptr = fopen("fichier.txt","r");
> for( i = 0 ; i<14 ; i++)
> {
> fread(&valeur,sizeof(short),1,ptr);
> printf("%i ",valeur);
> }
> getch();
> }
>
> Et au final je lis :
> 48 49 50 51 51 51 51 51 51 51 51 51 51 51
> Bref au lieu de lire 26 ca fait comme si ca marque la fin du fichier.
> il en est de même pour 3610 (et d'autres valeurs contenant la valeur 26).
> Ca a l'air con comme ca mais je comprends pas !!!
> HELP!!!
>
>


Cette discussion est classée dans : fichier, problème, valeur, ptr, short


Répondre à ce message

Sujets en rapport avec ce message

problème de scan de double dans un fichier [ par jc_romeo ] Bonjour je dois prendre des valeurs d'un fichier qui sont de type double (8 chiffres apres la virgule)je fais donc la manip suivante:double valeur;fsc Ouvrir et lire un fichier txt [ par pirana ] Bonjour à tous jaimerai faire un programme qui me permet d'ouvrir un fichier txt puis le lire jusqua la fin( normalement avec une boucle while(!feof(f Un DLL pour transcoder [ par Pacifica ] J'ai un problème avec un logiciel de fax (faxil), il marche très bien sous win98 mais sous 2000 c'est autre chose.....Donc voila mon problème:Le fichi En-tête de fichiers [ par lisandru ] Bonjour, Alors voila mon problème.Je voudrais savoir si il est possible d'insérer un en-tête dans un fichier sans avoir forcement a insérer l'en-tête Communication Client/Serveur ! Ou es le problème ? [ par QuakeCoder ] Je recentre fréquemment un problème avec l’utilisation de socket et la communication entre Client/Server.   Prenant un exemple de ma dernière appl extraire une chaine d'un fichier avec fstream [ par graall ] bonjour,j'ai un problème avec ce code :(le problème est explique dans les comentaires)int x = 10; fstream file("fichier.txt, ios_base::in); char *begi [bcb5] problème avec les ressources.... [ par OrsE ] Salut tout le monde, j'ai un problème dans le chargement d'une ressource. J'ai un composant dans lequel se trouve un TImageList, et les images qui doi Borland C++ Builder : problème d'inclusion de fichier [ par vivichou83 ] Hello tout le monde,J'ai un problème avec Borland.Je m'explique :Je dois réliser un projet et l'exécuter sous un autre pc dépourvu de borland, je déco Prb de stockage fichier texte [ par Jarod1980 ] Bonjour tout le monde,Voilà j'ai un problème dans mon programme. Je voudrais ouvrir un fichier texte et stocker son contenu dans une variable. Le prob Pointeur en C [ par casper_2 ] Bonjour j'aimerais savoir comment ,appartir d'une autre application ,savoir si celui est soit en cours d'execution ou soit terminer. G reflechis a mon


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales