Cómo convertir CString en MFC en char [] (matriz de caracteres)¿Convierte CString en matriz de caracteres?
Respuesta
Puede usar la función GetBuffer para obtener el búfer de caracteres de CString.
Utiliza CString :: GetBuffer() para obtener el TCHAR [] - el puntero al búfer. Si compiló sin UNICODE definido, eso es suficiente: TCHAR es lo mismo que char, de lo contrario tendrá que asignar un buffer separado y usar WideCharToMultiByte() para la conversión.
Llamar solo al método GetBuffer no es suficiente, también necesitará copiar este búfer a la matriz.
Por ejemplo:
CString sPath(_T("C:\temp\"));
TCHAR tcPath[MAX_PATH];
_tcscpy(szDisplayName, sPath.GetBuffer(MAX_PATH));
tuve problemas con esto, pero lo que yo uso ahora es la siguiente: (Unicode amistoso)
CString strCommand ("Mi texto para enviar a un archivo DLL.");
**
char strPass[256];
strcpy_s(strPass, CStringA(strCommand).GetString());
**
// CStringA es una versión de carácter no ancho/Unicode de CString Esto luego poner su terminada en nulo matriz de caracteres en strPass para usted.
Además, si el control de la DLL en el otro lado, la especificación de los parámetros como:
const char * strParameter
en lugar de
carbón strParameter *
"probablemente" convertirá CStrings por usted con el casting predeterminado generalmente efectivo.
- 1. ¿Cómo se convierte cstring a NSString?
- 2. ¿Convierte json en una matriz de C#?
- 3. Convierte una matriz 2D en una matriz de 1D
- 4. Convierte caracteres especiales como '\ t' en "\ t" (una pestaña real)
- 5. Convertir matriz TCHAR en matriz de caracteres
- 6. Javascript: convierte textarea en una matriz
- 7. Bash: Convierte caracteres no ASCII a ASCII
- 8. Convertir CString para flotar en mfc
- 9. delete [] Matriz de caracteres
- 10. Convertir CString en const char *
- 11. C++ CString equivalente en C#
- 12. Convierte cadena en todos los caracteres mayúsculos con std :: transform
- 13. Convertir matriz int a matriz de caracteres
- 14. matriz de Javascript se convierte en una estructura de objeto
- 15. Convierte una doble matriz para doblar ArrayList
- 16. CString a char *
- 17. Convierta una lista de caracteres (o matriz) en una cadena
- 18. CString a conversión LPCTSTR
- 19. ¿Convierte un CFStringRef en una cadena C?
- 20. ¿cómo sabe printf la dirección de los datos de caracteres de una CString?
- 21. concatenar matriz de caracteres en C
- 22. Convertir NSString en matriz de caracteres
- 23. ¿Qué estructura de cadena de caracteres anchos uso? CString vs wstring
- 24. UTF-8, CString y CFile? (C++, MFC)
- 25. Convierte caracteres utf8 a iso-88591 y vuelve a PHP
- 26. Coldfusion no convierte texto acentuado o caracteres MS Word
- 27. Convierte la lista <byte[]> en un byte [] matriz
- 28. Convierte cadena en CLLocationCoordinate2D
- 29. Cómo convertir nsstring a cString?
- 30. Convertir MFC CString a entero
El tipo es LPTSTR, strcpy no funcionará si se define UNICODE, _UNICODE. – dirkgently