给定字符串
[FROM] Jan 5 2013 10:16:41 widget <__FILE__> <__LINE__>
我想提取“外围设备”,在这种情况下是“小部件”。
“外围”名称总是从同一列开始 - 但它可以有不同的长度,所以我想我可以使用 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()
还是其他方式,从这样的字符串中获取外围设备的名称(我不关心其他任何内容)
- 这些行始终具有相同的格式
- 外围设备的名称始终以同一列开头
- 但是,它没有固定的长度;它由一个空格终止
提前致谢。当您在语言之间跳转时会发生这种情况:-(