私はこのようなコードを持っています
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を使用してこの全体をデータに書き込んだ後、このデータ全体を2つに分割してから、2つの新しい変数にコピーします。
char var1[100],var2[100];
これはsscanfで実行できますが、var1では、
%d|Hello world|Ticket|Offset=44|msgId=1050
一方、var2では、その後の部分が必要です。
%d|%d|%d
.1つの方法は、%[^ \ t}などを実行することですが、この場合、var1内の値は正しいですが、var2内のタブスペースも、3つの%diの最後に奇妙な文字とともに挿入されます。変数データに入力する必要のあるデータ。sscanfのヘルプを使用してこれを行うにはどうすればよいか教えてください。事前に助けてくれてありがとう