优秀的编程知识分享平台

网站首页 > 技术文章 正文

qt c++ char*与string互转(qt char转qbytearry)

nanyue 2024-07-23 13:47:09 技术文章 24 ℃

std::string charPointerToString(const char* pInData)

{

// 支持中文转换

std::string strReturn;

// 容错性判断

if (pInData == NULL)

{

return strReturn;

}

strReturn = pInData;// 将char*转换为string

return strReturn;

}

bool stringToCharPointer(std::string strInData, char *pOutBuf, int outBufLen)

{

// 支持中文转换

if (!pOutBuf)// 判断指针是否为空

{

return false;

}

if (outBufLen < strInData.size())// 判断接收数据的缓冲区是否充足

{

return false;

}

memset(pOutBuf, 0, outBufLen);// 清空缓冲区,避免缓冲区的垃圾数据影响正常数据

memcpy(pOutBuf, strInData.c_str(), strInData.size());// 将string数据转换为char*

return true;

}

使用例子

#include <iostream>

using namespace std;

int main(int argc, char** argv)

{

// char*转string

string strTest = charPointerToString("户外");

cout << "strTest=" << strTest << endl;


// string转char*

char outBuf[1024] = {0};

stringToCharPointer(strTest, outBuf, 1024);

cout << "outBuf=" << outBuf << endl;


return 0;

}

总结:

使用环境:visual studio 2019

说明:char*和string互相转换,支持中文转换;可以作为平时开发过程中速查工具,不需要花很多时间,不断的去百度,不断的去调整代码

水平有限,有什么问题欢迎批评指正,谢谢

Tags:

最近发表
标签列表