3
我有一个字符串方含空格和标签,如:sscanf的和定制休息
<note label="description">sp|P02671|FIBA_HUMAN Fibrinogen alpha chain OS=Homo sapiens GN=FGA PE=1 SV=2</note>
我想只捕捉描述标签后和之前的部分“OS =”,想知道它是否情理之中的事带有自定义符号的sscanf(请参阅我目前正在进行的页面底部的工作),或者如果最好使用第二个strstr来解析操作系统。
在此先感谢
- 其他信息 -
if ((p_str = (char*) strstr(buffer,"\"description\">"))) {
sscanf(p_str+14,"%[^OS]",(file+teller)->description);
}
PS:%[^ OS]处断裂的 'O',我会爱第一次出现的字符串,知道如何输入一组字符(如果可能的话)。
你有什么执行第二的strstr和比较于使用单的strstr用sscanf的(如果是连的memcpy的性能影响的想法可能)? – 2013-02-25 17:23:05
根据你的字符串的长度,它应该是可以忽略的。 'sscanf'是一个格式化的函数,而'memcpy'是许多编译器的内置函数,可能在现代处理器上使用矢量操作进行了优化。如果你真的关心这样的细节,那么使用一个分析器,但我相信你的应用程序有更大的瓶颈。 ;-) – md5 2013-02-25 17:34:05