我有几个结构被定义为通过不同的操作系统(tcp网络)发送.定义的结构是:
struct Struct1 { uint32_t num; char str[10]; char str2[10];}
struct Struct2 { uint16_t num; char str[10];}
typedef Struct1 a;
typedef Struct2 b;
Run Code Online (Sandbox Code Playgroud)
数据存储在文本文件中.数据格式如下:
Struct1a存储为3个单独的参数.但是,struct2是两个独立的参数,第二行和第三行都存储在char str []中.问题是当我通过多个网络写入服务器时,数据未正确接收.有许多空间可以分隔结构中的不同参数.当我写入服务器时,如何确保正确的发送和填充?如何正确存储数据(动态缓冲区或固定缓冲区)?
write的例子:write(fd,&a,sizeof(typedef struct a)); 它是否正确?
struct2的问题接收侧输出:
正确的输出
123(馅饼,地壳)