CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

prob de lecture dans un fichier

Addict7
Addict7
Niveau 6
06 mai 2003 à 13:30:52

salut à tous les codeurs, je me posait deux question, par exemple, prenons ce nombre: 0c3cH,
c´est de l´hexadécimal ou c´es encore une autre base?
et comment faire pour lire/écrire les données d´un fichier dans une addresse spécifié(0c3cH par exemple)

merci d´avance

Kelios
Kelios
Niveau 8
06 mai 2003 à 14:06:59

OUI, sauf pour le H:
Cepandant, certains languages ( l´assembleur par exemple) terminent leur nombres hexadécimaux par un h, ex. en assembleur:
54Ch
Pour spécifier que c´est de l´hexa.
Alors dépendament en quoi tu code, ça risque effectivement de l´être.

" et comment faire pour lire/écrire les données d´un fichier dans une addresse spécifié(0c3cH par exemple) "
Tu parle d´adresse physique ou mémoire? Dans tous les cas, une adresse prend toujours quatre octets. Cepandant, dans le cas d´une adresse segment:offset ( que je crois unqiuement disponible en adresse mémoire), c´est deux octets pour chaque, ex.:
0177h:45DCh
Il arrive que le Segment soit sous-entendu: ça arrive par exemple en assembleur, où certaines instructions travaillent sur un segment en particulier, comme une instruction mov eax, [0C3Ch], qui utilise DS si un segment n´est pas spécifié.
Alors il se pourrait bien qu´il s´agisse d´un offset, et qu´un segment soit sous-entendu, ça expliquerait ses 4 bytes. Mais je ne suis pas sur que les adresses physiques marchent en segment:offset.
Revenons à nos moutons.
Je vais prendre pour acqui que tu me parle de lire/écrire sur le disque dur.

CAS 1°: Tu crée un programme qui lira/écrira à cette adresse.
Moi à ta place, je laisserait tomber cette idée. Pour moi, seul un OS devrait véritablement faire le File I/O. Laisse-lui faire son boulot, l´OS sait ce qu´il fait.

Maintenant, si tu ne veut pas faire un programme qui lira cette adresse;
CAS 2°: Tu le fait manuellement.
Un bon éditeur hexadécimal, et sou!, c´est parti.
J´aime bien HexWorkshop, qui fait des I/O sur un disque dur:
http://www.bpsoft.com/

Espérant ne pas avoir fait de gaffes,
Cordialement,

Kelios
---------

romain206cc
romain206cc
Niveau 5
06 mai 2003 à 14:17:54

Venez tous visiter mon site consacré aux nouveautés Peugeot sur http://nouveautes.peugeot.site.voila.fr
http://nouveautes.peugeot.site.voila.fr
http://nouveautes.peugeot.site.voila.fr
http://nouveautes.peugeot.site.voila.fr
http://nouveautes.peugeot.site.voila.fr
http://nouveautes.peugeot.site.voila.fr

arnaud81
arnaud81
Niveau 7
06 mai 2003 à 14:31:14

pour l´hexa, je rajouterais :
0xABCD, c la facon de turbode comprendre que tu entre de l´hexa.

mais ca pouraitetre une base 17 plutot qu´une base 16 ( hexa), et ca y a pasmoyen de le savoir. en info seul les bases 2,8, 10 et 16 sont utilisés.

une adresse 0x3CFF par exemple, ne represente qu´une position a partir d´une adresse de reference ( l ´@ zero, @=adresse)

Pour corriger Kelios, une adresse ne prend pas toujours 4 octets. Ca marche uniquement sur les plateformes 32bits. Sur les prochains proc 64bits, 32bits d´adresse n´est pas suffisant. Sur les plateforme intel 16 bits ( 286), Intel a utilisé une astuce pour pouvoir exploiter 16Mo de RAM. Pourtant 2^16=64Koctet adressable. Leurastuceest dene pas utiliser 16 mais 24 bits d´adresse. Exemple : DS:CX = 16bits:16bits...merde c 32bits la ! oui, mais seul les 8 bits de poids fort de DS sont utilisés et pasles 16 entier. C´est pas tout a fait vrai, mais je ne m´étendrais pas sur le principe d´adressage par segmentation de la mémoire.

Une adresse en hexa est juste un chiffre sous une base hexa ( base 16). Quand tu entres le chiffre 10 ( base 10), tu te poses pas la question sur comment le rentrerenprog..pourtant, la seule chose que le proc comprend, c´est la base 2.

si tu fais c = 0Ah + 0Bh; en C, ca marche exactement de la meme maniere que si tu fais c = 10 + 11;
Pour ta question, si tu veux la reponse, tu doisdétaillerun peusur exactement, et avoir koi tu veuxfaireca.

Addict7
Addict7
Niveau 6
07 mai 2003 à 13:45:28

ok merci pour la premiere réponse, mais j´ai une rectification pour la deuxieme, je voulais dire
comment faire un programme qui lit/écrit les données d´un fichier dans une addresse spécifié(0c3cH par exemple) car je sait lire et écrire normalement ( j´utilise fstream) mais pas à une addresse spécifié

kookii
kookii
Niveau 4
07 mai 2003 à 17:10:51

Tu devrais preciser mieux si tu veux une reponse. Si ecrire a une adresse pour toi c´est ecrire a n octets dans le fichier, alors utilise les fonctions seekp et seekg.

http://www.cplusplus.com/ref/iostream/fstream/index.html

tu devrais regarder ce site pour + d infos : )

Addict7
Addict7
Niveau 6
07 mai 2003 à 17:17:59

oui c ça, escuse si je ne m´exprime pas très bien,merci beaucoup

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment