Problem mit .ini
-
Hallo, ich möchte etwas in eine .ini Datei schreiben, was dann so aussehen soll:
[Tue Nov 23 15:52:18 2010] Sekunden=2 Primzahlen=5164 Größe=50321
... Die Ausgabe sieht aber so aus:
[Tue Nov 23 15:52:18 2010] Sekunden=2 [Tue Nov 23 15:52:18 2010] Primzahlen=5164 [Tue Nov 23 15:52:18 2010] Größe=50321
Der Quellcode sieht so aus:
time_t now; now = time(0); sprintf(szBuffer[0],"%s",ctime(&now)); sprintf(szBuffer[1],"%i",zeit); sprintf(szBuffer[2],"%lli",iprim); sprintf(szBuffer[3],"%lli",imax); WritePrivateProfileString(szBuffer[0],"Sekunden",szBuffer[1],".\\pp6_log.ini"); WritePrivateProfileString(szBuffer[0],"Primzahlen",szBuffer[2],".\\pp6_log.ini"); WritePrivateProfileString(szBuffer[0],"Größte",szBuffer[3],".\\pp6_log.ini");
Wie kann das sein? szBuffer[0] ist doch immer gleich und sollte somit als Überkategorie für alle nachfolgenden gelten oder? Wenn ich anstatt szBuffer[0] z.b. "a" mache, steht alles so wie gewollt unter "a"... Warum?
mfg.
-
Dein Stringinhalt ist für einen Sektionnamen schon etwas ungewöhnlich.
Hab in der Doku von WritePrivateProfileString() nachgelesen:
lpAppName [in]
The name of the section to which the string will be copied. If the section does not exist, it is created. The name of the section is case-independent; the string can be any combination of uppercase and lowercase letters.Es sieht so aus, daß Sonderzeichen wie eben ':' anscheinend unerwünscht ist...
HTH,
Martin
-
Danke für die Antwort, wenn ich allerdings:
WritePrivateProfileString("Tue Nov 23 15:52:18 2010","Sekunden",szBuffer[1],".\\pp6_log.ini"); WritePrivateProfileString("Tue Nov 23 15:52:18 2010","Primzahlen",szBuffer[2],".\\pp6_log.ini"); WritePrivateProfileString("Tue Nov 23 15:52:18 2010","Größte",szBuffer[3],".\\pp6_log.ini");
mache geht es. Also wird da nicht der Fehler liegen, oder?
-
sprintf(szBuffer[4],"Tue Nov 23 15:52:18 2010"); WritePrivateProfileString(szBuffer[4],"Sekunden",szBuffer[1],".\\pp6_log.ini"); WritePrivateProfileString(szBuffer[4],"Primzahlen",szBuffer[2],".\\pp6_log.ini"); WritePrivateProfileString(szBuffer[4],"Größte",szBuffer[3],".\\pp6_log.ini");
Funktioniert übrigens auch..
-
Habs gelöst.. Bei szBuffer[0][24] stand das Ascii Zeichen 10... Wenn ich
szBuffer[0][24]=0;
gehts..