Bonjour à tous,
J'ai une fonction qui récupère 3 variables a,b et c qui sont respectivement un const string, const int, et un const double.
Ces variables prennent une valeur que si des conditions sont respectées et je dois récupérer cette valeur chaque fois que je rentre dans une des conditions pour écraser une variable que je définis en début de code mais sur laquelle je ne sais pas quel type je dois mettre (int, double, string ... ?)
Avec le code ça sera plus parlant :
Mon soucis c'est que lorsque maVar vaut b et que b=0 j'obtient dans le debuger pour maVar '\u0000', du coup quand je veux écrire cette valeur dans un fichier plus loin, je n'ai rien qui est écrit ou alors un caractère non ASCII (un petit rectangle)
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 void myfunction(const std::string & a, const int & b, const double & c) { string maVar; maVar = a ; if(z) { maVar = b; } (....) if(x) { maVar = c; } (.....) // J'écris maVar dans mon fichier myfile << maVar; myfile.close(); }
Je tiens à préciser que la valeur de maVar est censé être un double un final, je ne sais pas pourquoi ceux qui ont écrit ce code ont définit ces variables comme étant des string, des int et des double ...
PS : Pour complexifier un peu la chose, je suis sous C++98 donc pas mal de truc que j'ai trouvé sur le net ne fonctionnait pas.
Merci d'avance pour votre aide.
Partager