解析我想利用C.從文件中刪除標籤用C
輸入聲明文本文件打印標籤之間的數據:
<PERSON> Mark Zuckerberg </PERSON> is a entrepreneur from <LOCATION> USA </LOCATION>. He is also the CEO of <ORGANIZATION> Facebook </ORGANIZATION>.
輸出:馬克·扎克伯格Facebook的美國。
我的程序代碼是:
const char* getfield(char* line, int num)
{
const char* tok;
for (tok = strtok(line, "/>");
tok && *tok;
tok = strtok(NULL, ">"))
{
if (!--num)
return tok;
}
return NULL;
}
int main()
{
char line[500000];
while (fgets(line, 500000, stdin))
{
char *arg = line;
const char *tok;
while ((tok = getfield(arg, 2)) != NULL) {
printf("%s\n", tok);
arg = NULL;
}
}
}
我的輸出是:
Mark Zuckerberg </PERSON
USA </LOCATION
Facebook </ORGANIZATION
我想擺脫</Tag
並獲得唯一馬克·扎克伯格的Facebook美國作爲輸出。我需要在哪裏更改代碼?
這是[如何解析C中的文本文件中的標籤之間的數據]的確切克隆(http://stackoverflow.com/questions/33523405/how-to-parse-data-between-tags-從-一個文本文件,在-C)。 (好的,代碼已經改變了,但問題可能和海報相同。) –
是的。我在這方面仍然有問題。 –
你已經得到了詳細和有用的答案,解釋你的代碼的缺點和誤解。研究它們。所以,在你得到你喜歡的答案之前,這不是反覆詢問同一個問題。 –