Edd*_*die 2 qt type-conversion
QByteArray inArray = " ... ";
unsigned char *in = convert1(inArray);
unsigned char *out;
someFunction(in, out);
QByteArray outArray = convert2(out);
Run Code Online (Sandbox Code Playgroud)
问题是如何正确地进行这些转换(convert1和convert2).我无法更改someFunction(unsigned char*,unsigned char*),但我必须在这里使用QByteArray.
Qt有很棒的文档,你应该使用它们.
如果someFunction不修改或存储指向数据的指针,您可以使用:
QByteArray inArray = " ... ";
unsigned char *out;
someFunction((unsigned char*)(inArray.data()), out);
QByteArray outArray((char*)out);
Run Code Online (Sandbox Code Playgroud)
否则,您必须对QByteArray :: data()返回的char*进行深层复制(请参阅代码片段的文档).
| 归档时间: |
|
| 查看次数: |
34468 次 |
| 最近记录: |