he cambiado de clase para utilizar std :: string (en base a la respuesta que obtuve here sino una función que tengo vuelve wchar_t * ¿Cómo convierto a std :: string¿Cómo convierto wchar_t * a std :: string? .?
He intentado esto:
std::string test = args.OptionArg();
pero dice error C2440: 'inicialización': no se puede convertir de 'wchar_t *' a 'std :: basic_string < _Elem, _Traits, _Ax>'
y todavía me sale un const char * si uso .c_str()? Tengo otras funciones que esperan const char * – codefrog
Voy a hacer una conjetura de que está construyendo su proyecto en Unicode, pero realmente no quiero eso. Si esto es correcto, puede cambiar las propiedades de su proyecto para que no se construya para Unicode y luego puede usar 'cadena'. Verifique esto en Propiedades del proyecto, Propiedades de configuración, General, Conjunto de caracteres. Necesita esto para decir 'Usar conjunto de caracteres de varios bytes 'para deshacerse de Unicode en todas partes. –
Originalmente planeé usar Unicode para algunas partes, pero luego decidí que me preocuparé por eso más adelante. En este punto, solo me molesta que el programa funcione. Estoy usando SimpleINI y SimpleOpt para cargar opciones y usa Unicode. También estoy usando el SDK de otro software que también usa Unicode. Deshabilitar Unicode todos juntos puede hacer que incluso esas partes del código dejen de funcionar. – codefrog