J'ai besoin de stocker dans un fichier de configuration, des chaines du typesMais je n'y arrive pas en utilisant sprintf ou memcpy, comment faire svp?Citation:
BackupFolder = "C:\\backup\\logs\\";
(le résultat obtenu est toujours en simple \)
Version imprimable
J'ai besoin de stocker dans un fichier de configuration, des chaines du typesMais je n'y arrive pas en utilisant sprintf ou memcpy, comment faire svp?Citation:
BackupFolder = "C:\\backup\\logs\\";
(le résultat obtenu est toujours en simple \)
Tu veux une chaine contenant deux antislashs d'affilée ?
On sait qu'un antislash est échappé avec un autre antislash. Donc, d'après toi, combien d'antislashs faudra-t-il écrire d'affilée entre les guillemets de la chaine du code C pour en obtenir 2 lors de l'affichage (ou dans le fichier de sortie) ?
:ccool:Code:
1
2
3 Chaine -> Ecriture C "\" -> "\\" "\\" -> ???
Plus d'infos ici : http://c.developpez.com/cours/bernar...00000000000000
OK, alors voici mon code avec les simples \ qui sont bien échappés
Le résultat dans mon fichier c'est des simples \Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 void CreateFileConfig() { char *pDat; FILE *fc; pDat = (char*)malloc(255); fc = fopen("config2.ini","w"); if (fc != NULL) { sprintf(pDat,"[apache]\n\nBackupApacheFolder = \"C:\\toto\\backup\\logs\\\";\nAgeLog = 30;\n\n[db]\n\nBackupDbFolder = \"C:\\toto\\backup\\db\\\";\nAgeDb = 30;"); fprintf(fc,pDat); fclose(fc); } free(pDat); }
Donc si je veux des \\ j'en rajoute ?
Sauf que ça me génère des erreurs...Code:
1
2 sprintf(pDat,"[apache]\n\nBackupApacheFolder = \"C:\\\toto\\\backup\\\logs\\\\";\nAgeLog = 30;\n\n[db]\n\nBackupDbFolder = \"C:\\\toto\\\backup\\\db\\\\";\nAgeDb = 30;");
Pardon!
Je suis distrait, en fait il faut doubler donc ça doit donner
Code:
1
2 sprintf(pDat,"[apache]\n\nBackupApacheFolder = \"C:\\\\DEAFI\\\\backup\\\\logs\\\\\";\nAgeLog = 30;\n\n[db]\n\nBackupDbFolder = \"C:\\\\DEAFI\\\\backup\\\\db\\\\\";\nAgeDb = 30;");