2012-09-26 7 views
22

mogę przekonwertować Double Do CString użyciu _ecvtJak mogę przekonwertować Int do CString?

result_str=_ecvt(int,15,&decimal,&sign); 

Tak, czy istnieje sposób, jak ten powyżej, które konwertuje int do CString?

+0

Uwaga: Znacznik 'cstring' jest przeznaczony dla standardowego nagłówka C++' cstring', a nie dla nici Microsofts string. –

+0

Może "itoa" jest tym, czego szukasz? –

Odpowiedz

46

Oto jeden ze sposobów:

CString str; 
str.Format("%d", 5); 

W twoim przypadku, spróbuj _T("%d") lub L"%d" zamiast "%d"

+1

Nie można tego zrobić znacznie szybciej. Możesz łączyć łańcuch z makrem '_T', aby dopasować typ parametru' LPCTSTR'. – user1201210

+0

Próbowałem, ale to nie działa –

+1

@Eslam Jak konkretnie to nie zadziałało? Nie skompilowałeś? Runtime error? Zły wynik? – user1201210

5

Jeśli chcesz coś bardziej podobnego do przykładu spróbuj _itot_s. Na Microsoft kompilatory _itot_s punktów do _itoa_s lub _itow_s zależności od ustawień Unicode:

CString str; 
_itot_s(15, str.GetBufferSetLength(40), 40, 10); 
str.ReleaseBuffer(); 

powinno być nieco szybciej, ponieważ nie ma potrzeby analizowania formatu wejściowego.