gpt4 book ai didi

c++ - Qt5 : QTextEdit to (LPVOID lpBuffer, DWORD dwBytesToWrite)

转载 作者:行者123 更新时间:2023-11-28 04:48:19 25 4
gpt4 key购买 nike

我有一个带有 textDataToSend QTextEdit 字段的 GUI,我想使用在接受 (LPVOID lpBuffer, DWORD dwBytesToWrite)fWrite 函数中输入的数据 参数。

现在我使用:

dataToSend[0] = ui->textDataToSend->toPlainText().toUInt(&bStatus,16);
sendData(dataToSend,1);

sendData 是这样的:

DWORD sendData(char* txBuffer, unsigned long txBufferSize) {
int status;
status = fWrite(handle, txBuffer, txBufferSize);
return status;
}

这样我就可以发送一个字节了。

我想使用的数据是可变长度的十六进制字符串(如“aa0011”、“1122334455”、...)。我完全没有经验,你能建议一些好的、合适的、更聪明的方法吗?

最佳答案

首先从文本编辑中获取QString

QString textEditString = ui->textDataToSend->toPlainText();

当你手上有QString时,你可以得到“buffer”和“size of buffer”,如下所示。

//First get the byte array from the string
QByteArray bArray = textEditString.toLatin1();

//Get the size of the string in bytes
int length = bArray.size();

//Get the string buffer
char *tBuffer = bArray.data();

现在将这些值传递给您的发送数据

sendData(tBuffer, length);

无论如何 LPVOID 只不过是一个 Void 指针。fWrite 应该能够毫无问题地获取 tBuffer

关于c++ - Qt5 : QTextEdit to (LPVOID lpBuffer, DWORD dwBytesToWrite),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48751500/

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