2012-09-26 3 views
22

я могу преобразовать Double к CString использованием _ecvtКак преобразовать Int в CString?

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

Итак, есть ли способ, как тот, который выше преобразует int в CString?

+0

Примечание: Тег 'cstring' предназначен для стандартного заголовка C++' cstring', а не для строки Microsoft. –

+0

Возможно, 'itoa' является тем, что вы ищете? –

ответ

46

Вот один из способов:

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

В вашем случае, попробуйте _T("%d") или L"%d", а не "%d"

+1

Не могу сделать это намного быстрее, чем это. Вы можете обернуть строку макросом '_T' в соответствии с типом параметра LPCTSTR. – user1201210

+0

Я попробовал, но он не работает –

+1

@Eslam Как конкретно это не сработало? Не компилировался? Ошибка выполнения? Неверный результат? – user1201210

5

Если вы хотите что-то более похожее на вашем примере попробовать _itot_s. В Microsoft компиляторы _itot_s указывает на _itoa_s или _itow_s в зависимости от настроек Unicode:

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

она должна быть немного быстрее, так как не нужно разобрать формат ввода.

Смежные вопросы