bonjour j'ai créer un petit programme qui demande à stocker une chaine de caractère pour l'écrire dans un fichier puis à le lire.en théorie aucun soucis je sais que ça marche! par contre je voulais avoir le choix de retourner dans ma fonction d'écriture pour inclure de nouvelle donnée et là rien ne se passe par contre pour quitter dans mon switch j'accède bien à ma fonction end. qui peut m'aider?
code en c++
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <iostream.h> #include<fstream.h> using namespace std; string contenu; string donnees;//variable string char reponse; void ecriture(); void lecture(); int fin (); int choix(); int main() { ecriture(); return 0; } void ecriture() { cout << "Tapez votre phrase\n"; cin >> donnees; ofstream fichier("fichier.txt", ios :: out);//ouverture du fichier en ecriture fichier <<"x"<< donnees <<"x"<<"\r\n";//ecriture et inclusion des marqeurs fichier.close(); donnees.clear(); cin.clear(); choix(); } void lecture() { fstream fichier("fichier.txt", ios :: in);//ouverture du fichier en lecture getline(fichier, contenu); fichier.close(); size_t size = contenu.size() +1;//buffer pour copier string char * buffer = new char[ size ]; // copier la chaîne strncpy( buffer, contenu.c_str(), size ); // utiliser le buffer char *contenuoutinclusion; contenuoutinclusion = strtok(buffer, "x"); cout << "votre texte : " << contenuoutinclusion << "\n"; // libérer la mémoire delete [] buffer; contenu.clear(); fin(); } int choix() { cout<<"Voulez vous enregistrer d autres donnees ?\n"; cin>>reponse; switch(reponse) { case'oui': { ecriture(); } break; case'non': { fin(); } break; } } int fin() { system("PAUSE"); return 0; }
Partager