Pointer Verständnis Problem bei Funktion

20/09/2007 - 08:49 von Kniffel | Report spam
Hallo zusammen

Auf dieser Seite --> http://www.codeproject.com/string/hexstrtoint.asp
<--findet man ein Beispiel das einen HexString in einen Int-wert
umwandelt. Ich habe die Funktion einszueins übernommen. Und wenn ich
die Funktion so aufrufe:
wchar_t * Value = L"29BA2A";
int test = _httoi(Value);
printf(test); // -->Liefert: 2734634 und ist
OK

Wenn ich jetzt aber hingeh und den Wert aus einer Datei auslese:
ReadFile( hFile, fileContent, fileSize, &bytesRead, 0 );
wchar_t * ReadLinesArray[30];
wchar_t * ReadLines;
int ReadLinesCounter=0;

// Teilen am Zeilenende
ReadLines = wcstok(fileContent, L"");
while (ReadLines != NULL)
{
// Zeile in Array speichern // Jede Zeile enthaelt einen
HexString
ReadLinesArray[ReadLinesCounter] = (ReadLines);
ReadLines = wcstok (NULL, L"");
ReadLinesCounter++;
}
Und dann übergebe:
wchar_t * Value = (ReadLinesArray[0]);
int test = _httoi(Value);
printf(test); // -->Liefert: 0

Dann bekomme ich immer =0 !!

Wenn ich in der Funktion die Werte von
TCHAR *mstr = _tcsupr(_tcsdup(value));
printf("*mstr = %s",mstr);
TCHAR *s = mstr;
printf("*s = %s",s);
ausgeben lasse dann bekomme ich im ersten funktionierenden Beispiel
jeweils nur "2",
bei dem Beispiel mit dem auslesen der Datei bekomme ich jeweils
"29BA2A"!

Warum ist das so?
Kann mir jemand einen Tip geben...

Gruß
Kniffel
 

Lesen sie die antworten

#1 Michael Reim
20/09/2007 - 10:02 | Warnen spam
Hallo Kniffel,

printf(test); // -->Liefert: 2734634 und ist


was soll das bitte sein?
printf benoetigt als ersten Parameter einen Formatstring.


Michael Reim
Michael DOT Reim AT helmut-fischer DOT de

Ähnliche fragen