Accueil > Forum > > > > Enregistrer/Récupérer un nombre sur plusieurs octets
Enregistrer/Récupérer un nombre sur plusieurs octets
mardi 17 janvier 2006 à 21:52:18 |
Enregistrer/Récupérer un nombre sur plusieurs octets

tekila_bandita
|
Bonjour, J'aimerais enregistrer un nombre dans un fichier sur plusieurs octets de la meme façon qu'un long int, et pouvoir le recuperer... Je m'explique : un int est codé sur un octet donc 8 bits : 11111111 donc a pour valeur maximal 2 9-1 (=255) un long int ( je ne saispas sur combien d'octet alors je mets 2 dans mon exemple ) : 11111111 11111111 donc a pour valeur maximale 2 17-1 j'aimerais faire pareil dans un fichier.... MERCI !
|
|
mardi 17 janvier 2006 à 22:31:44 |
Re : Enregistrer/Récupérer un nombre sur plusieurs octets

rrk275
|
bah deja un int vaut generalement 4 et un int aussi..
mais pour les fichier (en C)
fread(variable,nbdeblock,tailleblockenoctet,fichierpointeur);// pour lire
fwrite(variable,nbdeblock,tailleblockenoctet,fichierpointeur);//pour ecrire.
et la tu choisi la taille des block !! et le nb de block..
j'ai jamais compris pourquoi y en avait deux..mais il sont la alors autant les utiliser...
|
|
mercredi 18 janvier 2006 à 00:15:06 |
Re : Enregistrer/Récupérer un nombre sur plusieurs octets

luhtor
|
Au passage : 2^9-1 = 511.
Quand tu as "n" bit, tu peux obtenir un entier non signé de valeur maximale 2^n-1. Je sais pas d'ou tu sors ce 2^(n+1)-1
|
|
mercredi 18 janvier 2006 à 06:55:14 |
Re : Enregistrer/Récupérer un nombre sur plusieurs octets

Matt67
|
Bonjour,
Pas très explicite ton exemple, explique un peu plus si tu veux qu'on t'aide...
rrk275 -> 1) fread et fwrite c'est sur windows et rien ne permet de dire qu'il est sous windows ... 2) Tu n'as pas compris pourquoi il y avait deux quoi ???
Matt...
|
|
mercredi 18 janvier 2006 à 11:08:27 |
Re : Enregistrer/Récupérer un nombre sur plusieurs octets

ctx_man
|
Salut !
tekila_bandita > Sur une plateforme PC Win32 : char = 8bits short = 16bits long = int = 32bits Ces valeurs sont vraies pour toutes les plateformes a l'exception du int qui est codé sur un nombre de bits égale à la taille du bus de données (si c'est un processeur 12bits, le int est sur 12bits également)
luthor > Il faudrait effectivement qu'il revoye ses cours de binaire
Matt67 > C'est vrai que ce n'est pas explicite pour un sous, cependant ta reflexion a rrk275 est completement fausse. fopen, fread, fwrite, fclose, .... toutes ces fonctions sont définies dans stdlib.h ou stdio.h (je sais plus laquel mais c'est pas bien important). Tu remarquera les 3 premieres lettres du fichier : STD, ca veut dire standard. C'est du C, comme les C est compilable et exécutabe en C++, ca rend ces fonctions compatibles sous toutes plateformes pourvue d'un compilateur C/C++
Le travail c'est la santé, ne rien faire c'est la préservé !!!
|
|
mercredi 18 janvier 2006 à 15:57:29 |
Re : Enregistrer/Récupérer un nombre sur plusieurs octets

rrk275
|
Quand je dis je n'ai pas compris pourquoi deux block , c'est parce
qu'un seul aurait pu suffire (je parle du nbblock et taille bloc..) car
le nombre total d'octet est un simple multiplication de ces deux la ..
(peut etre une maniere de ranger.(quel interet   ...))
et qu'on on connait mal on agressif et de maniere general mieu vaut
etre poli .. surtout qu'on on contredit qqun (meme si on a raison !!  !! (un petit smiley qui sourit .. c'est pas grand chose mais ca change la connotation  .. ))
|
|
mercredi 18 janvier 2006 à 21:32:23 |
Re : Enregistrer/Récupérer un nombre sur plusieurs octets

Matt67
|
Bonsoir,
Vous remarquerez que le message était matinal et je fais mes plus plates excuses à rrk275... Effectivement fread et fwrite c'est dans stdio.h j'ai confondu avec writefile, readfile (de chez windows).
Pour rrk275 -> je ne suis pas agressif du tout. size_t fread (void *ptr, size_t size, size_t nmemb, FILE *stream); exemple : int tab[10]; FILE *fp; [../..] fread(tab, sizeof(int), 10, fp) [../..]
Matt...
|
|
lundi 23 janvier 2006 à 11:37:40 |
Re : Enregistrer/Récupérer un nombre sur plusieurs octets

ctx_man
|
Explication sur le pourquoi specifier une taille de bloque dans fread :
A l'origine c'etait pour lire des bloque complet, je m'explique, tu creer une structure qui fait 1024 octets(une fiche de renseignement personnel par exemple). Tu en enregistre 10 dans un fichier. Et quand tu lit ce fichier, manque de bol, tu t'appercoit que ta derniere structure n'est pas complete, elle ne pese que 950 octets. En specifiant une taille de bloque de 1024, ta derniere structure n'est pas lut car elle n'est pas complete.
Maintenant, c'est ce qui etait prevu a l'origine, je n'ai pas tester si ca fonctionne reellement. Sachant que c'est des fonction standards, elles peuvent changer legerement de comportement selon la platerforme. Je ne peux donc pas affirmer que ca fonctionne.
|
|
Cette discussion est classée dans : enregistrer, récupérer, nombre, int, octets
Répondre à ce message
Sujets en rapport avec ce message
vecteur avec int et char [ par Tyroflan ]
int **boursemain(){...cin >> nombre;for (unsigned int i=0;i bourse[i] = new int [5];donc je crée autant de vecteurs bourse que l'indique la variable
vecteur avec int et char [ par Tyroflan ]
int **boursemain(){...cin >> nombre;for (unsigned int i=0;i bourse[i] = new int [5];donc je crée autant de vecteurs bourse que l'indique la variable
Probleme fonctions [niveau debutant] [ par zzzzzz ]
en fait je voulais faire une applic qui nous demande un nombre de part et de fin si on met par exemple 2 et 7 sa ecrira 234567 grace a une boucle. le
getch ou getchar() ? [niveau debutant] [ par zzzzzz ]
:P //---------------------------------------------------------------------------#include #include // getch()#include // c
Comment récupération la partie fractionnaire d'un nombre [ par Niníel ]
Bonjour! Voila je cherche la fonction qui permet de récupérer la partie fractionnaire d'un nombre. Ex: si j'ai 4.25, je veux récupérer juste le 0.25..
Arbres binaires [ par His_Dudeness ]
Bonjour, je suis en train de me taper un tp pour un cours sur les arbres. Dans le code qui suit, la racine redevient null a chaque fois qu'elle sort
convertir un int en char ??? [ par tintin72 ]
Salut,Comment convertir un int en char pour que la valeur numérique du int devienne un nombre écrit ? par ex: pour que : int nombre = 18; donne une fo
Ecrire sur plusieurs octets [ par guifr ]
Bonsoir à tous,J'aimerais savoir comment faire pour écrire un nombre entier sur un certain nombre d'octet, notamment sur 2, 3 et 4 octets. La difficul
Aide algorithmique TESTAGE !! [ par ZogStriP ]
Bonjour tout le monde !!Je suis en train de faire le concours de PROLOGIN (www.prologin.org) et j'en suis au QCM 2004 n°4, mais là je bloque un peu!Je
Tableau et char to int [ par Niníel ]
Bonjour!J'ai un tableau: chTabStart[64] dans lequel je rentre un nombre dans le format suivant: d_25 pour un nombre décimale par exemple. Donc dans mo
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|