Slt,
est-ce que qq1 a un exemple de code ou l'on ouvre un fichier .txt dans lequel on a des valeurs, ensuite on le lit, puis on charge ces valeurs dans un vector<>?
Slt,
est-ce que qq1 a un exemple de code ou l'on ouvre un fichier .txt dans lequel on a des valeurs, ensuite on le lit, puis on charge ces valeurs dans un vector<>?
Avec les stream_iterator c'est très simple, tu peux charger les valeurs directement dans le vecteur. Par exemple pour des int :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <fstream> #include <vector> #include <iterator> #include <iostream> int main() { std::ifstream fichier("mon_fichier.txt"); std::vector<int> valeurs( (std::istream_iterator<int>(fichier)), std::istream_iterator<int>()); if (!fichier.eof()) std::cerr << "Erreur de lecture !\n"; }
Salut a tous, j'ai une question concernant ces commandes a laquelle je ne trouve pas de réponse. Je veux également lire un fichier txt, mais le fichier a ouvrir n'est pas connu a la compilation, et je veux laisser l'utilisateur rechercher sur le disque le fichier, de la même manière que lorsque l'on clique sur le bouton "ouvrir" dans la plupart des programme...
Une idée ?
Salut,
C'est *relativement* simple:
1- tu récupère le nom du fichier à ouvrir dans une chaine de caractères (std::string, par exemple, c'est l'idéal)
2- tu transmet cette chaine en veillant à la passer sous la forme d'une chaine "C style" (c'est une vieille restriction des *fstream) au constructeur, en lieu et place de "fichier.txt".
Cela te donne, par exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 int main() { std::string str; /* récupération du nom de fichier dans str... à toi de voir comment * faire selon la bibliothèque IHM que tu utilise :D */ std::ifstream fichier(str.c_str()); std::vector<int> valeurs( (std::istream_iterator<int>(fichier)), std::istream_iterator<int>()); if (!fichier.eof()) std::cerr << "Erreur de lecture !\n"; }
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
hum encore une question qui va pas être très dur a solutionner je pense, enfin je l'espère en tout cas ^^
j'ai écrit dans mon code :
std::ofstream fichier("C:\test.txt", ios::app);
fichier>>"n importe quoi";
mais rien ne se passe, le fichier n'est même pas créé.
Si je créé un fichier nomé test.txt au bon emplacement, rien ne s'écrit dessus, même quand celui ci est fermer. Qu'ai-je fait de mal ?
Partager