我有这样的代码
sprintf(data, "%d|Hello world|Ticket|Offset=44|msgId=1050 %d|%d|%d", r+1,header->m_msgId,header->m_sequence,header->m_offset);
其中 data 是一个大小为 100 的 char 数组,而 header 是一个结构变量。
现在在使用 sprintf 将整个数据写入数据之后,我想将整个数据分成两部分,然后将其复制到两个新变量中
char var1[100],var2[100];
这可以用 sscanf 来完成,但我想要的是在 var1 中我只想要部分直到
%d|Hello world|Ticket|Offset=44|msgId=1050
而在var2中,我想要之后的部分,即
%d|%d|%d
.一种方法是执行 %[^\t} 等等,但在这种情况下,var1 内的值是正确的,但 var2 内的制表符空间也与三个末尾的一些奇怪字符一起插入 %di 不能改变格式必须在我的变量数据中输入的数据。请帮助我,我该如何使用 sscanf 的帮助来做到这一点。谢谢提前提供任何帮助