c ++ _bstr_t вместо использования строки

У меня есть код для чтения файла, но он используется std :: string, мне нужно использовать _bstr_t
Код следования может работать нормально. как поменять тип?

   std::ifstream inFile("QdatPassWordconfig.config");
std::string sPassWord; //(here, i need to use _bstr_t)
std::string sTemp;
if (inFile.is_open())
{
if(std::getline(inFile,sTemp))
{
cout<<sTemp<<endl;
sPassWord=sTemp;
}
}

0

Решение

Если вы читаете _bstr_t документация, вы увидите, что его оператор присваивания принимает нормальный const char *,

Так что, вероятно, просто присвоить ему:

_bstr_t sPassword;

// ...

sPassword = sTemp.c_str();

Если у вас возникли проблемы с использованием обычных строк узких символов, вам следует преобразовать весь код, относящийся к этому, в строку широких символов, то есть классы с w префикс:

std::wifstream inFile("QdatPassWordconfig.config");
_bstr_t sPassword;
std::wstring sTemp;

if (inFile.is_open())
{
if(std::getline(inFile, sTemp))
{
std::wcout << sTemp << endl;

sPassword = sTemp.c_str();
}
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]