gpt4 book ai didi

c++ _bstr_t 而不是使用字符串

转载 作者:行者123 更新时间:2023-11-30 02:56:56 27 4
gpt4 key购买 nike

我有一些读取文件的代码,但它使用的是 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;
}
}

最佳答案

如果您阅读 _bstr_t documentation ,你会看到它的 assignment operator采用普通的 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();
}
}

关于c++ _bstr_t 而不是使用字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15082341/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com