Bonjour tout le monde,
Je developpe une petite application en c++ qui permet d'envoiyer et recevir des messages sur une meme machine entre plusieurs utilisateurs (Simulation d'une boite mail)
Enfait tous les messages des differents utilisatuers sont tous stocké dans un meme fichier texte formaté de la maniere suivante :
DESTINATAIRE OBJET MESSAGE
DESTINATAIRE OBJET MESSAGE
Un message est ecrit sur une ligne, chaque champ est séparer par une tabulation.
- Premiere question : Est ce que le formatage est bon ?
- Deuxieme question : Je demande etape par etape à l'utilisateur de saisir l'objet de son message, puis le texte et enfin le destinataire.
Voici le code :
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 string des,objet,msg; cout << "Veuillez Indiquez L'objet :" << endl; cin >> objet; cout << "Veuillez ecrire votre message :" << endl; cin >> msg; cout << "Destinataire :" << endl; cin >> des; ofstream f( "test.txt",ios_base::app); if (!f.is_open()) cout << "Impossible d'ouvrir le fichier en écriture !" << endl; else { f << des << " " << objet << " " << msg << endl; } f.close();
Seulement ce code ne permet pas à l'utilisateur de saisir un texte avec des retour à la ligne, des espaces ...
En plus l'objet de message peut aussi contenir des espace, or dans ce cas les espaces ne sont pas acceptés !
3- Troisieme probleme :
par exemple si je voudrais ouvrir les messages dont le destinaaire est X, comment je fais pour extraire juste les lignes du fichier dont le destinataire est X (dans notre cas qui commencent par X) ?
j'ai essaiyé ce code, mais il repond pas à mes besoins :
En l'attente de vos reponse, veuillez accepeter mes salytations distinguées.
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 cout << "TEST" << endl; ifstream fichier("test.txt", ios::in); if(fichier) // si l'ouverture a fonctionné { string contenu; // déclaration d'une chaîne qui contiendra la ligne lue getline(fichier, contenu); // on met dans "contenu" la ligne cout << contenu << endl; // on affiche la ligne getline(fichier, contenu); // on met dans "contenu" la ligne cout << contenu << endl; // on affiche la ligne fichier.close(); } else cerr << "Impossible d'ouvrir le fichier !" << endl; }
Partager