2012-09-26 17 views
22

que puede convertir un Double a un CString usando _ecvt¿Cómo puedo convertir un int a un CString?

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

Entonces, ¿hay un método similar a la anterior que convierte una int a CString?

+0

Nota: La etiqueta 'cstring' es para el encabezado estándar de C++' cstring', no para la cosa de cadenas de Microsofts. –

+0

Quizás 'itoa' es lo que estás buscando? –

Respuesta

46

Aquí hay una manera:

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

En su caso, tratar o _T("%d")L"%d" en lugar de "%d"

+1

No se puede hacer mucho más rápido que eso. Es posible que desee envolver la cadena con la macro '_T' para que coincida con el tipo de parámetro' LPCTSTR'. – user1201210

+0

lo probé pero no funciona –

+1

@Eslam ¿Cómo no funcionó específicamente? ¿No compiló? ¿Error de tiempo de ejecución? Resultado incorrecto? – user1201210

5

Si quieres algo más similar a su ejemplo, pruebe _itot_s. En Microsoft compiladores _itot_s puntos a _itoa_s o _itow_s dependiendo de la configuración de Unicode:

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

que debería ser un poco más rápido, ya que no tiene que analizar un formato de entrada.