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;
}