0

嗨,我必须发送和接收一条结构消息,这怎么可能使用管道

我的消息是这样的

typedef struct{
char[20] myMessage,
int      count,
char[10] address
} sendMessage;

我知道我可以使用 writefile/readfile 发送字符串消息,但是如何发送结构变量。

4

1 回答 1

1

您可以通过通常调用WriteFile一侧和ReadFile另一侧来做到这一点。重要的是要记住,它们可以写入和读取的字节数少于请求的字节数,因此它们应该循环使用,直到所有数据都被接收/传输。

对于固定大小的读取和写入,我有时会发现将管道句柄/描述符重新包装成一个FILE*结构很方便,因此短读取和短写入由 C 运行时库处理。在 Windows 上,它分两个阶段完成:为句柄_open_osfhandle获取 CRT lowio文件描述符,然后为 lowio 描述符_fdopen获取一个FILE*。(警告:_O_BINARY用于_fdopen确保没有换行翻译)。

于 2013-01-30T18:30:12.083 回答