• 8497阅读
  • 4回复

一个BYTE数组,如何转换成QString [复制链接]

上一主题 下一主题
离线sflute
 
只看楼主 倒序阅读 楼主  发表于: 2006-11-22
我的程序中需要利用Windows的API读取注册表,用RegQueryValueEx函数,读取出来的字符串数据存储在一个BYTE型的数组里,定义方法为:
BYTE data[100];
用MFC编程的时候,只需要用LPCWSTR转换一下就可以将其存储在一个CString变量中:
CString str = (LPCWSTR)data;
但是用Qt编程的时候,我想把它存储在一个QString 类型的变量中,试验了很多办法,都没有成功,只能取得这个字符串的第一个字符,请问有什么好办法吗?
我的编译环境是VC2005+Qt4。
[ 此贴被XChinux在2006-11-22 11:56重新编辑 ]
离线XChinux

只看该作者 1楼 发表于: 2006-11-22
试一试QByteArray类
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线sflute
只看该作者 2楼 发表于: 2006-11-22
能给一个简单的代码吗?我怎么弄都只能取出第一个元素。
离线sflute
只看该作者 3楼 发表于: 2006-11-22
现在问题用QChar解决了,方法有些笨 ,有没有更好的办法啊?

QString devName("");
for( int i = 0; !( data == '\0' && data[i+1] == '\0' ); i+=2 )
   devName.append( QChar(data, data[i+1]) );
离线cavendish

只看该作者 4楼 发表于: 2006-11-22
不知道你可不可以试试QSettings

http://doc.trolltech.com/4.2/qsettings.html

This information is often stored in the system registry on Windows, and in XML preferences files on Mac OS X. On Unix systems, in the absence of a standard, many applications (including the KDE applications) use INI text files.
快速回复
限100 字节
 
上一个 下一个