Bonjour,
Je souhaiterais pouvoir �crire le contenue d'une variable dans un fichier texte qui serait contenu dans le r�pertoire de l'ex�cutable. Le probl�me est que le seul moyen que je connaisse afin de d�tecter le r�pertoire de l'ex�cutable implique d'inclure des librairies qui n'appartiennent pas � l'OS, donc je ne peux pas d�boguer et je souhaite n'avoir qu'un seul code. Ce que j'ai donc fait c'est d�tecter l'OS actuel et selon le cas stocker le fichier texte dans tel ou tel r�pertoire. Je teste actuellement sous Windows mais le fichier texte ne s'�crit pas sur le disque...
Si quelqu'un voit le probl�me :
Merci de votre aide !
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 namespace { unsigned HowMany = 23456; unsigned BestScore = 0; void ReadScore() { #ifdef __linux ifstream fichier("/etc/opt/BestScore.txt", ios::in); // On ouvre le fichier en lecture pour Linux #elif _WIN64 || _WIN32 ifstream fichier("C:\BestScore.txt", ios::in); // On ouvre le fichier en lecture pour Windows #endif if (fichier) // Si l'ouverture a réussi { fichier >> BestScore; // On lit le contenu du fichier et on le stock fichier.close(); // On ferme le fichier } else // Sinon cerr << "Erreur à l'ouverture !" << endl; } void WriteScore() { #ifdef __linux ofstream fichier("/etc/opt/BestScore.txt", ios::out | ios::trunc); // Déclaration du flux et ouverture du fichier pour Linux #elif _WIN64 || _WIN32 ofstream fichier("C:\BestScore.txt", ios::out | ios::trunc); // Déclaration du flux et ouverture du fichier pour Windows #endif if (fichier) // Si l'ouverture a réussi { fichier << HowMany; // On écrit le contenu de la variable fichier.close(); // On referme le fichier } else // Si c'est la première ouverture du programme, on crée le fichier ou si il est inaccessible cerr << "Erreur à l'écriture !" << endl; fichier << 0; fichier.close(); // On referme le fichier } } // namespace
Partager