Bonjour,
Je viens de réaliser mon premier programme en C++ à l'aide Code Blocks.
Il est relativement simple.
Il consiste à ouvrir un fichier texte, y remplacer une valeur par "1", le réécrire, puis lancer un autre exe.
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 #include <iostream> #include <fstream> #include <string> /* find */ #include <stdio.h> #include <stdlib.h> /* system, NULL, EXIT_FAILURE */ using namespace std; int main() { string nameFile = "C:\\Users\\Clem\\AppData\\Roaming\\Arduino15\\preferences.txt"; string varFic; ifstream fichier(nameFile.c_str(), ios::in); // on ouvre le fichier en lecture if(fichier){ // si l'ouverture a réussi string contenu; string keyword = "sketch.count"; // déclaration d'une chaîne qui contiendra la ligne lue string argument; while(getline(fichier, contenu)) { // tant que l'on peut mettre la ligne dans "contenu" varFic += contenu + "\n"; } fichier.close(); // on ferme le fichier //printf ("contenu de varFic : \n%s", varFic.c_str()); size_t argPos = varFic.find(keyword)+keyword.length()+1; string prevArgument; for (int i = 0; (varFic[argPos + i] != 13); i++) { // trouve le prochain '\r' prevArgument += varFic[argPos + i]; } varFic[argPos] = '1'; // on remplace l'ancien argument par 1 } else { printf ("Impossible d'ouvrir le fichier en lecture !\n"); } ofstream fichierE(nameFile.c_str(), ios::out | ios::trunc); // ouverture en écriture avec effacement du fichier ouvert if(fichierE) { fichierE << varFic; fichierE.close(); } else { printf ("Impossible d'ouvrir le fichier en ecriture !\n"); } int cmd=system ("D:\\Maison\\Domotique\\ESP8266\\arduino-1.6.5-r5\\arduino.exe"); return 0; }
Si je peux entendre toutes remarques (elles seront bienvenues) sur mon style ou ma façon de procéder, je souhaite avant tout savoir pourquoi il plante une fois sur 3.
Sous Code Blocks, il me retourne le message suivant :
Environnement : Windows 7-64
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Process returned -1073741819 (0xC0000005) execution time : 2.385 s Press any key to continue.
Merci d'avance à ceux qui passeront un peu de temps à cette analyse.
Partager