我正在使用串行端口控制称为nano控制器的设备。我使用CreateFilewriteFilereadFile进行通信。

这是writeFile的语法,

if (!WriteFile(hComm, lpBuf, dwToWrite, &dwWritten, &osWrite)) {
    if (GetLastError() != ERROR_IO_PENDING) {
        // WriteFile failed, but isn't delayed. Report error and abort.
        fRes = FALSE;
    }
}


这里的数据应包含在lpBuf中。它是一个缓冲区。

我想分配“ MINC,moveL”。这里的MINC是文本。但是,moveL是变量,其类型应为double。值应随时间传递给moveLmoveL在0到10000之间变化。

那么如何填充缓冲区?

最佳答案

听起来像您要sprintf(或其表亲之一):

char buffer[128];

sprintf(buffer, "MINC,%f", moveL);
WriteFile(hComm, buffer, ...);

关于c - 将字符串和变量写入C中的缓冲区,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10544606/

10-10 19:19