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

[C] fstream

-MasterLink-
-MasterLink-
Niveau 6
02 février 2008 à 13:50:21

Bonjour

Je suis entrain de faire un petit programme mais je bloque sur un point. Le but du programme est de récupérer caractere par caractere ce qui est écrit dans un fichier texte, ensuite, pour chacuns, rechercher une image correspondante au code ascii de ce caractère et l'afficher, et enfin sauver cette l'image finale au format bmp. Pour cela j'utilise fstream pour lire le fichier texte et SDL pour sauvegarder le tout sous forme d'image.

Donc sa ressemble a :

int caract;

...

while (file.eof())
{
caract = file.get();

...
}

Le programme marche très bien...pour les caractères dont le code ascii va de 0 à 127. Pour les accents par exemple, le code récupéré est souvent négatif.
Donc ma question est : est-il possible de récupérer le code ascii des caractères qui vont de 128 a 255?

godrik
godrik
Niveau 30
02 février 2008 à 16:16:19

Avant de répondre, fstream est une classe du langage C++. Ce n'est donc pas du C. (c'est pas bien grave)

Pour ton probleme de caracteres accentués. Tu dis que le code récupéré est souvent négatif, tu veux dire qu'il est tout le temps négatif non ? En fait, je pense que la valeur que tu récupères est bien le code ascii de ton caractère accentué. mais c'est le code ascii sur 8 bit. converti ton entier en unsigned char pour voir.
Ou encore, utilises la fonction "istream& get(char& c);" de istream.

-MasterLink-
-MasterLink-
Niveau 6
02 février 2008 à 18:20:06

Bon alors après recherche, et comme j'avais deja essayé de mettre un unsigned int a la place du int, mais que le code ne correspondait pas au tableau que j'avais, j'ais finalement remarqué qu'il fallait se servir du code ISO 8859-1 et non pas de l'ascii étendu ou de l'unicode.

Voila, en tout cas merci pour tout :-d

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