LECTURE DE FICHIER DE C++
sabdoul
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
-
cap'tain sheeps Messages postés 447 Date d'inscription Statut Membre Dernière intervention -
cap'tain sheeps Messages postés 447 Date d'inscription Statut Membre Dernière intervention -
je voudrais comment lire une ligne aleatoirement dans un fichier avec C++.
avec la methode getline ca ne marche pas car j'ai utilise srand(time(0)) pour lire un nombre aleatoirement et ensuite je me deplace avec ios::cur. et ensuite jesaie de saisir toute la ligne avec getline mais ca marche pas.
aider moi svp
avec la methode getline ca ne marche pas car j'ai utilise srand(time(0)) pour lire un nombre aleatoirement et ensuite je me deplace avec ios::cur. et ensuite jesaie de saisir toute la ligne avec getline mais ca marche pas.
aider moi svp
A voir également:
- LECTURE DE FICHIER DE C++
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
1 réponse
Commence par compter le nombre de lignes dans ton fichier, ensuite met des bornes à ta fonction pour prendre un nombre aléatoire pour prendre un nombre qui est entre 0 et le nombre de lignes.
Ensuite, tu peux faire le déplacement à la ligne ainsi obtenue et la récupérer avec ta fonction favorite pour ce genre d'opération.
Ensuite, tu peux faire le déplacement à la ligne ainsi obtenue et la récupérer avec ta fonction favorite pour ce genre d'opération.
maintenant comment se déplacer entre les lignes car le déplacement dans les fichiers que je connait se fait a travers les caractères avec la fonction seekg (nombre de caractère,ios::cur)
s'il vous plait aider moi!
while(getline(file, line)) // ca te renviera NULL donc fin de la boucle si c'est la fin du fichier
// sachant que le getline saute automatiquement une ligne
{
cout << line << endl; //si tu veux l'écrire par exemple
}
Il me semble qu'elle marche comme ça:
for ( int nbLigne = 0; ! file.eof; nbLigne++)
{
getline(file, line); //pour avancer ton curseur d'une ligne mais concrêtement c'est du bidouillage
}
Mais je suis pas sûr j'ai pas de quoi testé et mes souvenirs sont flous.
https://openclassrooms.com/fr/courses/1894236-programmez-avec-le-langage-c#ss_part_2]]
while(getline(fichier, ligne)) //Tant qu'on n'est pas a la fin, on lit
{
tab.push_back(ligne);//On met cette ligne dans la nouvelle ligne du tableau (tab)cree
}
une fois encore merci!