作者clv (慢慢习惯成为大叔)
看板C_and_CPP
标题[问题] C的结构问题
时间Sat Jan 7 11:54:12 2017
开发平台(Platform): (Ex: Win10, Linux, ...)
C语言
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
请问一下, 我有一个结构长这样
typedef struct
{
int int_a;
}TEST2;
typedef struct
{
char char_a;
char char_b;
char char_c;
char char_d;
int int_a;
TEST2 s_a;
}TEST;
有一个对应的纯文字字串, 内容如下
1,2,3,4,5,6
我想自动的把字串的第一个字对应到结构的第一个
也就是
char_a=1
char_b=2
char_c=3
char_d=4
int_a=5
s_a.int_a=6
我是希望当我改变struct时,塞的地方会更着变
例如
typedef struct
{
int int_a;
}TEST2;
typedef struct
{
char char_b;
char char_a;
char char_c;
char char_d;
int int_a;
TEST2 s_a;
}TEST;
时 就会变成
char_b=1
char_a=2
char_c=3
char_d=4
int_a=5
s_a=6
因为不晓得要用什麽关键字去查询
只能来这问各位
又或者 我有没有办法知道struct结构
主要是因为我让两个系统用Socket做沟通
传送间都用文字
想说有没有快速把文字塞到struct
因为struct里面又有阵列
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.177.156.249
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1483761254.A.F51.html
1F:→ fatrabitree: 都是char char char char into 的话或许可以用memor 01/07 13:05
2F:→ fatrabitree: y? 01/07 13:05
3F:→ fatrabitree: memset 01/07 13:05
4F:推 chuegou: 你要test.s_a.int_a为5吗? 01/07 16:10
5F:→ Hazukashiine: 如果没有特别原因的话 不应该有这种需求 Bad Smell 01/07 16:22
6F:推 LPH66: 同意楼上, 原 PO 你最初始的需求是什麽? 01/07 16:49
7F:推 longlongint: char array 搭配 union吧? 01/07 19:17
※ 编辑: clv (180.177.156.249), 01/08/2017 01:35:34
9F:→ Hazukashiine: 还是没懂你要干嘛 不过要用 socket 除非只有位元流 01/09 02:03
10F:→ Hazukashiine: 不然就是要自己实作一个自定义的表头好让双边解析 01/09 02:04
11F:→ Hazukashiine: socket 就只是位元流 你需要的是 de-/serialization 01/09 02:05