2012-09-26 34 views
22

tôi có thể chuyển đổi một Double đến một CString sử dụng _ecvtLàm thế nào tôi có thể chuyển đổi một Int thành một CString?

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

Vì vậy, là có một phương pháp như một ở trên có thể chuyển đổi một int để CString?

+0

Lưu ý: Thẻ 'cstring' là dành cho tiêu đề C++ chuẩn' cstring', không dành cho chuỗi ký tự của Microsofts. –

+0

Có thể 'itoa' là những gì bạn đang tìm kiếm? –

Trả lời

46

Dưới đây là một cách:

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

Trong trường hợp của bạn, hãy thử _T("%d") hoặc L"%d" hơn "%d"

+1

Không thể làm điều đó nhanh hơn nhiều. Bạn có thể muốn bọc chuỗi với macro '_T' để khớp với kiểu tham số' LPCTSTR'. – user1201210

+0

tôi đã thử nó nhưng nó không hoạt động –

+1

@Eslam Làm thế nào nó đã không hoạt động? Không biên dịch? Lỗi runtime? Kết quả sai? – user1201210

5

Nếu bạn muốn một cái gì đó tương tự như ví dụ của bạn thử _itot_s. Trên điểm Microsoft trình biên dịch _itot_s để _itoa_s hoặc _itow_s tùy thuộc vào thiết lập Unicode của bạn:

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

nó phải được nhanh hơn một chút vì nó không cần phải phân tích một định dạng đầu vào.

Các vấn đề liên quan