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

Help pour utiliser iostream and co

jomeo
jomeo
Niveau 13
08 septembre 2004 à 17:49:39

Je n´arrive pas à lire les chaines d´un fichier texte présenté classiquement :

lol
oui
nan
. ..

Voici ce que j´ai codé :

char *ch = new char[250] ;
fichier > > ch ;
cout < < " ch contient : " < < ch < < endl ;

ch ne contient rien. Pourtant, si j´essaye avec des entiers ça marche correctement...

Si qqn pouvait m´aider !

dnob700
dnob700
Niveau 10
08 septembre 2004 à 22:49:39

coment est écrit ton fichier ?

s´il y a de ligne vide au début, c´est celle là que ton programme comence par lire je pense ( mais j´en suis pas sûr)

donc vérifie bien que ce que tu veux lire commence dès le premier caractère du fichier texte.

jomeo
jomeo
Niveau 13
08 septembre 2004 à 23:08:38

Merci de ton aide mais j´ai réussi tout seul finalement. Le problème venait de la source qui était incorrecte : il fallait donner le chemin entier du fichier, depuis la racine de la partition. En n´oubliant pas de doubler les antislashs bien sur \\ ( merci windows . .. )

dnob700
dnob700
Niveau 10
08 septembre 2004 à 23:11:39

t´es sur qu´il faut donner le chemin complet et qu´un chemin relatif ne marche pas ? bizarre.

par contre le fait qu´il faille doubler les antislash n´a rien a voir avec windows, mais c´est juste un problème de C, puice que le caractère \ estle caractère d´échapement.

Par contre, je ne comprend pas comment tu as pu lire des nombre mais pas des chaine avec ce problème ?

jomeo
jomeo
Niveau 13
08 septembre 2004 à 23:19:23

En fait je ne lisais pas les nombre non plus !

J´affichais le contenu des variables de type int. Les variables n´ayant pas été initialisées à 0, le programme affichait l´ancien contenu de la case à l´adresse de la variable ( tu vois ce que je veux dire, je pense, meme si c´est pas bien expliqué). J´ai meme pas verifié que c´était bien ce qu´il y avait dans le fichier ! J´ai vu un entier jetais sur que ça avait marché :-) ! !

j´ai dit " merci windows" parce que sur Linux et Unix les chemins des fichiers contiennent des / et non des \ . .. J´ai pas l´habitude de mettre des \ dans les chemins, c´est pour ça.

Enfin, j´ai du mettre le chemin complet parce que apparement je ne devais pas dans le repertoire où je pensais être... Ne connaissant pas dev-cpp, j´ai pas cherché à trouver quel était le repertoire courant ( de l´exe ? du source c ? . ..)

dnob700
dnob700
Niveau 10
08 septembre 2004 à 23:26:27

le répertoire courent est celui de l´exe normallement sauf si tu le lance avec n raccourci dans certain cas.

mais ça ne marche pas avec des / ? parce que dans l´explorateur, on peut utiliser les deux.

jomeo
jomeo
Niveau 13
08 septembre 2004 à 23:40:16

ah je ne savais pas... En fait j´ai pas essayé avec des / ... J´ai fait tout d´abord des \ seuls mais le compilateurs ne comprennait pas.

dnob700
dnob700
Niveau 10
09 septembre 2004 à 16:52:43

ben c´est comme dans le printf, partout dans du code en c, le \n ( je crois que c´est ´n´) est interprété comme un retour a la ligne par exemple etc...

donc pour faire le caractère ´\´, il faut soit utiliser son code ascii sit \\ justement pour dire que c´est bien la caractère \ que tu veux et pas le code d´échapement suivi d´autre chose.

( Vive le VB qui marche avec \ ET / ...)

dnob700
dnob700
Niveau 10
09 septembre 2004 à 17:10:50

près un petit tour dans le MSDN, il semblerait que tu soit obliger d´utiliser \ entre le nom de lecteur et le nom de dossier et entre le nom de dossier et le nom de fichier, mais qu´au millieu des nom de dossier ( entre les différend dossier que tu traverse) tu puisse utiliser indiférement \ et / et même les mélanger.

De plus je me suis souvenue pourquoi les chemin relatif ne fonctionnait pas, c´est que pour commencer un chemin relatif à ta postion actuel ( probablement le dossier de ton exe) tu doit débuter par le dossier . par exemple :

" ./var/temp\file1.txt"

ou alors . . pour le dossier précédent.

DasHuhn
DasHuhn
Niveau 10
09 septembre 2004 à 18:45:38

Vive Python qui fonctionne sur toutes les plateformes ET utilise le / ( plus un éventuel nom de lecteur sous Windows).

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