löschen eines TCHAR arrays
-
ich habe mit:
TCHAR* ausgabe = new TCHAR[size];
memset(ausgabe,'\0',sizeof(TCHAR));ein TCHAR array erstellt
und will es nun in einer while schleie immer wieder neu füllen.
leider ist der unangenehme nebeneffekt aufgetreten das das array mit:
memset(ausgabe,'\0',sizeof(TCHAR));
nicht wieder freigemacht wird, so das teile vom letzten string im nächsten wieder standen.wie lösche ich also ein TCHAR array um es in einer while schleife immer jungfräulich nutzen zu können?
p.s. das array lösche ich dann selbstverständlich mit:
delete[] ausgabe
-
mit sizeof(TCHAR) "löschst" du nur ein Zeichen. Multiplizier das mit size, dann passt's.
-
thx.
an den einfachen dingen scheitert das leben.ähm kannst du mir mal bitte noch sagen wann immer bei vc++ der disassambler geöffnet wird?
-
bei folgendem code meckert mein disassembler rum:
size = GetFileSize(hdatei,NULL); TCHAR* ausgabe = new TCHAR[size]; memset(ausgabe,'\0',sizeof(TCHAR) * size); TCHAR* buffer = new TCHAR[size]; memset(buffer,'\0',sizeof(TCHAR) * size); ReadFile(hdatei,buffer,size,&bytes,NULL); CloseHandle(hdatei); feldzeiger = wcsstr(&buffer[rautepos + 1],L"#"); rautepos = feldzeiger - buffer; //suche nach wert von name feldzeiger = wcsstr(&buffer[rautepos + 1],L"<Name>"); posa = feldzeiger - buffer + 6; feldzeiger = wcsstr(&buffer[posa],L";"); pose = feldzeiger - buffer; textgrose = pose - posa; wcsncpy(ausgabe,&buffer[posa],textgrose); MessageBox(hwndlb,ausgabe,L"a",MB_OK); feldzeiger = wcsstr(&buffer[rautepos + 1],L"#"); rautepos = feldzeiger - buffer; delete[] buffer; delete[] ausgabe; delete feldzeiger;
wenn ich allerdings
MessageBox(hwndlb,ausgabe,L"a",MB_OK);
aus dem code rausnehme meckert er nicht rum.was muß ich verbessern?
-
Ich kann mir beim besten Willen nicht vorstellen, was ein Disassembler mit C++-Quellcode zu tun haben soll. Ich habe auch noch nie erlebt, dass ein Disassembler "meckert".
Was "meckert" er denn?
-
TCHAR != Unicode. Verwende bitte entweder Unicode, ANSI oder die T-Typen. Hier würde ich dir aber raten (wegen der Verwendung von wcsstr), nur ANSI zu verwenden. Benutze dann strstr anstatt von wcsstr.