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