@@ -88,18 +88,19 @@ namespace FPL {
88
88
89
89
if (fichierName.has_value ()) {
90
90
if (arg->mText == " ecrire" ) {
91
- std::ofstream file { fichierName->StatementName };
92
- if (!file) {
93
- std::cerr << " Donnez le nom correct du fichier : '" << fichierName->StatementName << " '." << std::endl;
94
- exit (1 );
95
- }
96
91
if (CheckerOperateur (" -" ).has_value ()) {
97
92
if (CheckerOperateur (" >" ).has_value ()) {
98
93
auto valueInFile = CheckerValue ();
99
94
if (valueInFile.has_value ()) {
100
95
if (CheckerOperateur (" ;" ).has_value ()) {
96
+ std::ofstream file { fichierName->StatementName };
97
+ /* if (!file) {
98
+ std::cerr << "Donnez le nom correct du fichier : '" << fichierName->StatementName << "'." << std::endl;
99
+ exit(1);
100
+ }*/
101
101
std::replace (valueInFile->StatementName .begin (), valueInFile->StatementName .end (), ' "' , ' ' );
102
102
file << valueInFile->StatementName << std::endl;
103
+ file.close ();
103
104
return true ;
104
105
}
105
106
std::cerr << " Vous devez mettre le symbole ';' pour mettre fin a l'instruction." << std::endl;
@@ -117,14 +118,14 @@ namespace FPL {
117
118
exit (1 );
118
119
}
119
120
} else if (arg->mText == " lire" ) {
120
- std::ifstream file { fichierName->StatementName };
121
- if (!file) {
122
- std::cerr << " Donnez le nom correct du fichier : '" << fichierName->StatementName << " ' ." << std::endl;
123
- exit (1 );
124
- }
125
121
auto varName = CheckerIdentifiant ();
126
122
if (varName.has_value ()) {
127
123
if (CheckerOperateur (" ;" ).has_value ()) {
124
+ std::ifstream file { fichierName->StatementName };
125
+ if (!file) {
126
+ std::cerr << " Donnez le nom correct du fichier : '" << fichierName->StatementName << " '." << std::endl;
127
+ exit (1 );
128
+ }
128
129
std::string f_content ((std::istreambuf_iterator<char >(file)), (std::istreambuf_iterator<char >()));
129
130
VariableDefinition variable;
130
131
variable.VariableName = varName->mText ;
@@ -137,6 +138,7 @@ namespace FPL {
137
138
}
138
139
variable.VariableValue = f_content;
139
140
mVariables [variable.VariableName ] = variable;
141
+ file.close ();
140
142
return true ;
141
143
}
142
144
std::cerr << " Vous devez mettre le symbole ';' pour mettre fin a l'instruction." << std::endl;
0 commit comments