嗨,我必须发送和接收一条结构消息,这怎么可能使用管道
我的消息是这样的
typedef struct{
char[20] myMessage,
int count,
char[10] address
} sendMessage;
我知道我可以使用 writefile/readfile 发送字符串消息,但是如何发送结构变量。
嗨,我必须发送和接收一条结构消息,这怎么可能使用管道
我的消息是这样的
typedef struct{
char[20] myMessage,
int count,
char[10] address
} sendMessage;
我知道我可以使用 writefile/readfile 发送字符串消息,但是如何发送结构变量。
您可以通过通常调用WriteFile
一侧和ReadFile
另一侧来做到这一点。重要的是要记住,它们可以写入和读取的字节数少于请求的字节数,因此它们应该循环使用,直到所有数据都被接收/传输。
对于固定大小的读取和写入,我有时会发现将管道句柄/描述符重新包装成一个FILE*
结构很方便,因此短读取和短写入由 C 运行时库处理。在 Windows 上,它分两个阶段完成:为句柄_open_osfhandle
获取 CRT lowio文件描述符,然后为 lowio 描述符_fdopen
获取一个FILE*
。(警告:_O_BINARY
用于_fdopen
确保没有换行翻译)。