Mahlzeit erstmal
hab erst vor kurzem angefangen mit dem C++ und stehe zur Zeit vor einem Fehler den ich einfach nicht zu lösen vermag ..
bin zur Zeit bei Kapital 8 aus dem Buch und es geht um die Logfile Erstellung ab 8.10
bekomme keine Fehler beim Kompilieren sondern erst beim Programm Start..
Kompilierer:
Visual Studio 2012 Express
"
Debug Assertion Failed!
Program: Blabla
File: blabla\output.c
Line: 1125
Expression ("Incorrect format specifier",0)
"
Ich weiß nur nicht ob ich jetzt den Gesamten Quellcode anhängen soll ..
ich geh davon aus das es etwas mit dem "vsprintf_s" zu tun hat aber das nicht nur eine Vermutung nur hab ich einfach nicht genug wissen um den Fehler selber zu lösen.
laut buch soll man den "TCHAR" verwenden damit spuckt mir aber der Kompilierer bei den "vsprintf_s" eine Fehlermeldung aus, mit einem normalen "char" Datentyp funktioniert es ohne Fehlermeldung aber es stürzt halt das Programm ab
sonst kann ich keinen Fehler erkennen .. (und bitte nicht auf die schwächen im Code eingehen darum geht es nicht sondern es geht mir erstmal nur darum herauszufinden wieso dieser Fehler überhaupt entsteht ;p)
ich häng jetzt erstmal nur den teil mit den vsprintf_s an ..
danke schon mal im voraus ..
|
C-/C++-Quelltext
|
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
43
44
45
46
47
48
49
50
51
52
53
54
|
// fTextout
//
// Aufgabe: formatierten Text ins Logfile schreiben (schwarz)
//
void CLogfile::fTextout(const char *Text, ...)
{
char buffer[MAX_BUFFER]; // char-Buffer
va_list pArgList; // List der übergebenen Argumente
// String aus den Argumenten erstellen
va_start(pArgList, Text);
vsprintf_s(buffer, Text, pArgList);
va_end(pArgList);
// Erzeugten String schreiben
Textout(buffer);
}; // fTextout (schwarz)
// fTextout
//
// Aufgabe: formatierten Text ins Logfile schreiben (farbig)
//
void CLogfile::fTextout (int Color, const char *Text, ...)
{
char buffer[MAX_BUFFER]; // char Buffer
va_list pArgList; // Liste der übergebenen Argumente
// String aus den Argumenten erstellen
va_start (pArgList, Text);
vsprintf_s (buffer, Text, pArgList);
va_end (pArgList);
// Erzeugten String schreiben
Textout (Color, buffer);
}; // fTextout (farbig)
// fTextout
//
// Aufgabe: formatierten Text ins Logfile schreiben (farbig, Liste)
//
void CLogfile::fTextout(int Color, bool List, const char *Text, ...)
{
char buffer[MAX_BUFFER]; // char Buffer
va_list pArgList; // Liste der übergebene Argumente
// String aus den Argumenten erstellen
va_start (pArgList, Text);
vsprintf_s (buffer, Text, pArgList);
va_end (pArgList);
// Erzeugten String schreiben
Textout (Color, List, buffer);
}; // fTextout (farbig, liste)
|