Bonjour.
je fais mes premiers pas sn C++ POO et je suis le cours du même nom sur openclassrooms.
Voici mon codele fichier Liste_chiffre.txt contient
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 #include <iostream> #include <algorithm> #include <vector> #include <iterator> // pour utiliser ostream_iterator #include <fstream> using namespace std; /*---------------------------------*/ class Afficher /*---------------------------------*/ { public: void operator ()(int a) const { cout << a << endl; } }; /*---------------------------------*/ int main() /*---------------------------------*/ { vector<int> tab(100,0); ifstream fichier ("liste_chiffre.txt"); ofstream fichier_dest ("copie_liste_chiffre.txt"); if (fichier.is_open()) { // ATTENTION c'est istream pas i*f*stream istream_iterator<int> it(fichier); istream_iterator<int> fin; /* it = iterateur au debut du fichier fin = interateur du même type que it. ne peut être initialisé car la fin du fichier est inconnue. mais pour quoi ce n'est oas déclaré dans l'algo, je ne comprends pas tab.deb(), debut du vecateur pour savoir où on va écrire en mémoire */ cout<<"appel a copy"<<endl; copy(it,fin,tab.begin()); cout << "affichage" << endl; for_each(tab.begin(),tab.end(),Afficher()); if (fichier_dest.is_open()) { ostream_iterator<int> it_dest(fichier_dest); copy(tab.begin(),tab.end(),it_dest); } } else { cout<<"le fichier n'existe pas."<<endl; } return 0; }et le fichier copie_liste_chiffre.txt contient
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 12 2654 3 47 56 144 15.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 1226543475614415000
existe-t-il une facon d'écrire un retour à la ligne en utilisant l'algorithme copy ou bien dois-je passer par un parcours classique du vecteur tab avec un for ?
Merci d'avance de votre aide








Répondre avec citation


!

Partager