C/Visual C - ayuda con este codigo, muy urgente.Gracias

 
Vista:

ayuda con este codigo, muy urgente.Gracias

Publicado por netlan (2 intervenciones) el 20/02/2010 20:59:53
Estoy haciendo una dll con visul c++. Hace mil años que no programo con visual c++ 6.0 y tengo el siguiente problema.

Tengo una funcion que tiene como parametro de entrada un codigo, del tipo BSTR. Este codigo necesito obtener una parte del contenido. Me llega algo asi: ssddff$idcode$sdd. Necesito obtener lo que hay entre los simbolos de $, para devolverlo en formato BSTR. Les muestro el codigo que estoy utilizando para que me ayuden no se porque me falla. Al probarlo desde visual esta dll no me retorna correctamente el valor que teoricamente estoy buscando. El codigo es:

BSTR __declspec(dllexport) CALLBACK obtener_datos (BSTR idcode)
{

_bstr_t bstrFinal(idcode); //BSTR-->_bstr_t
char *buff = bstrFinal; ///BSTR-->to C String<-->TCHAR

string str(buff); //C String<->TCHAR-->string //bascic string
string texto;

_bstr_t textfin;

string::size_type inicio = str.find_first_of("|"); //obtengo la posición del primer carácter de control

string::size_type final = str.find_last_of("|"); //obteno la última posición del carácter de control

texto = str.substr(inicio,final); //sustring, del texto que me interesa.

_bstr_t bstrt(texto.c_str()); // asigno el texto calculado a la variable del tipo _bstr

return bstrt;

}

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder