unsigned char* 类型数据转换字符串 string

本文介绍了一种在C++中处理字符串数据的方法,通过多种方式将原始数据转换为不同的字符串格式,包括使用QString、std::string及直接内存操作等,并展示了如何将这些字符串写入文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如下方法
//const unsigned short *p = (const unsigned short *)apBulkBuf;
//const WORD *p = (const WORD *)apBulkBuf;
if (*(unsigned short *)apBulkBuf == kSynWordDeviceInfoValue)
//if (*p == kSynWordDeviceInfoValue)
{
	// TODO:
	// 1
	//QString qstrContent; 
	//unsigned char* uszContent = (unsigned char *)qstrContent.toUtf8().data(); 
	QString qstrContent = QString::fromUtf8(QByteArray((char*)apBulkBuf));
	// 2
	std::string str = std::string((const char *)apBulkBuf);
	// 3
	QString str4 = QString::fromLocal8Bit((const char *)apBulkBuf, aNBufSize);
	//QByteArray byteArrayTempInfo;
	//byteArrayTempInfo.toHex();
	// 4
	std::string str2(apBulkBuf, apBulkBuf + aNBufSize);
	// 5
	QString str3 = (char*)apBulkBuf;
	// 6
	char* strTemp = new char[aNBufSize];
	memcpy(strTemp, apBulkBuf, aNBufSize);
	std::string str6 = strTemp;
	// 7
	QString str7 = QString(QLatin1String((char*)apBulkBuf));

	// 写文件
	std::ofstream out("\\temp\\out.txt");
	if (out.is_open())
	{
		out << "1. " << str << "\n";
		out << "2. " << str2 << "\n";
		out << "3. " << str3.toStdString() << "\n";
		out << "4. " << str4.toStdString() << "\n";
		out << "5. " << qstrContent.toStdString() << "\n";
		out << "6. " << str6 << "\n";
		out << "7. " << str6 << "\n";
		out.close();
	}
	std::ofstream fout("\\temp\\a.dat", std::ios::binary);
	fout.write((char*)apBulkBuf, sizeof(char) * (aNBufSize));
	fout.close();



	QLinesSemaphores::m_FreeBytes.release();
	return;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yongwuzhijing800

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值