与えられた文字列
[FROM] Jan 5 2013 10:16:41 widget <__FILE__> <__LINE__>
「周辺機器」、この場合は「ウィジェット」を抽出したいと思います。
「peripheral」の名前は常に同じ列で始まりますが、長さが異なる可能性があるため、memcpy()またはstrncpy()を使用し、strchr()を使用してスペースの位置を取得できると思います。私はそれを行い、機能するコード回答を受け入れます。
ただし、Cでコーディングしてからしばらく経っているので、少し注意が必要なので、次のことを試しました。
char traceDirection[11];
char month[4];
char day[3];
char year[5];
char hour[3];
char min[3];
char sec[3];
sscanf(line,"%s %s %s %s:%s:%s %s %s",
traceDirection, month, day, year, hour, min, sec, peripheralName);
時間、分、秒まではすべて問題ありません。HH:MM:SSのコロンが原因である可能性があります。
使用しているかどうかに関係なく、そのような文字列からペリフェラルの名前を取得するためのコードを誰かに教えてもらえますかsscanf()
(残りは気にしません)。
- 行は常に同じ形式です
- 周辺機器の名前は常に同じ列から始まります
- ただし、固定長ではありません。スペースで終了します
前もって感謝します。これは、言語間をジャンプするときに起こることです:-(