【发布时间】:2014-03-14 16:15:14
【问题描述】:
我有一个带有标题信息的 ASCII 文件。标题中的一行是这样的:
# John Q. Public et al. 2014, to be submitted
我正在尝试获取名称。这是我的代码:
sscanf(line,"# %s et al.",NAME);
不幸的是,它只获得了名字。注意:名称可以是 1 个或多个以空格分隔的标记。基本上,我需要获取第一个哈希标记和“等”之间的所有内容。到单个字符串 (char*) 变量中。
有什么建议吗?谢谢。
【问题讨论】:
-
读取带有
fgets()的行然后解析它。 -
fgets 是更好的方法,但另一种方法是
scanf("%[^\n]", s)阅读,直到您按下回车 -
OK ...所有作者都有“et al.”吗? “等”之后总是有一年吗?后跟一个逗号? ... ... ...