KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Samedi 17 mai 2008 - 10:43:47

Lecture fichier C++

Rechercher : dans
lecture fichier C++
par juju
 Fil de Discussions
Statut : Non résolu
mardi 5 décembre 2006 à 16:07:28
Bonjour,
je fais du C/C++ sur linux
Je souhaiterai faire une fonction qui me permet de lire un fichier au format nom_joueur.txt que j'ai sauvegardé avant.
j'effectue en commande :
strcat (joueur1.nom, ".txt");
j'ai donc dans joueur.nom : Toto.txt (si le nom du joueur est toto!)
J'ai verifié j'ai bien dans mon dossier ce fichier.
Je souhaite donc ouvrir ce fichier en faisant :
ifstream lecture (joueur1.nom);
Quand je compile : erreur de segmentation!
J'ai vérifié en faisant des tests le probleme est qu'il ne lit pas du tout le fichier.
Comment faire?Merci
Répondre à juju  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Char Snipeur, le mardi 5 décembre 2006 à 16:59:56 Fil de Discussions
Salut.
quel est le type de joueur1.nom ?
fait une sortie de joueur1.nom voir si il est bien modifier.
Tu fait du C++, donc autant utiliser <string> de la STL.
string joueur1.nom;//tu met le type string à nom
donc ensuite,
fstream lecture((jouer1.nom+".txt").c_str(),std::ios::in);
ensuite, fait une sortie de lecture, vérifier qu'il n'est pas nul (que l'ouverture a bien fonctionner)
de la façon suivante :
if (!lecture) cerr<<"pb d'ouverture\n";// technique vue l à : http://www.cppreference.com/cppio/open.html
bonne chance Salutation !
Char Snipeur
Répondre à Char Snipeur

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par juju, le mardi 5 décembre 2006 à 17:19:33 Fil de Discussions
j'ai essayé mais ca ne marche pas non plus!
En fait je fais du C/C++ pas vraiment du C++ (pas vu cerr, str()...)
voici ma fonctionen entier :

void fonction (joueur joueur1)

{
char type, ligne, direction;
int colonne, nombre, i, t;
strcat (joueur1.nom, ".txt");
cout<<"fichier "<<joueur1.nom<<endl;
ifstream iflect (joueur1.nom);
for (i = 0; i<5; i++)
{
iflect>>type;//lit le type
cout<<"type "<<type;
iflect>>nombre;//lit le nombre de bateau de ce type
cout<<"nombre : "<<nombre;
while (nombre>0) //tant qu'il y a des bateaux
{
iflect>>ligne;
cout<<"ligne "<<ligne;
iflect>>colonne;
iflect>>direction;
//place le bateau
placer_bateau(ligne, colonne, direction, type, joueur1.mon_tab);
nombre--;
}
}
iflect.close();
}

typedef struct {
char nom[20];
char ** mon_tab;
char ** mes_tirs;
flotte flotte_adversaire;
} joueur;
Répondre à juju

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Char Snipeur, le mercredi 6 décembre 2006 à 08:52:47 Fil de Discussions
à la place de cerr, tu peu mettre perror().
compile avec l'option de debug (-g je croi)
puis lance ton programme avec gdb :
gdb *.exe
run

il te dira où est exactement ton erreur de segmentation.
iflect>>type;//lit le type
peut être source d'erreur, car 'type' est de type char, donc il faut que dans ton fichier la premiere donné soit un carctère unique. Salutation !
Char Snipeur
Répondre à Char Snipeur

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par azzeddine, le mercredi 28 novembre 2007 à 18:25:20 Fil de Discussions 
salut
j'amerai bien savoir ou d'envoyer des nouveaux programme écrit en c ou des documents pour un débitant concernant "formation"
mes salutations
Répondre à azzeddine
Discussions pertinentes trouvées dans le forum
22/02 18h57n'arive pas a lire fichier clip vidéoLinux/Unix20/01 04h577
15/02 09h49lire fichiers cso sur psp 3.71 M 33-2Jeux vidéos16/02 19h423
03/09 10h06[MediaPlayer]Lire fichiers .cdaWindows03/09 10h212
21/02 15h07n'arrive pas à lire fichier cryptéRéseaux21/02 15h453
Plus de discussions sur « lecture fichier C++ » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide