我在這裏遇到一些小問題。刪除單個鏈表中字符串中子字符串的出現C
我必須編寫一個單獨鏈接列表的東西,從現在開始我就沒有任何問題了。我堅持在鏈接列表中作者名稱中的函數調用之後給出的子字符串出現的刪除。
節目片段:
void list_delete_element(kniha_t* inode)
{
kniha_t *actualnode = inode;
kniha_t *prevnode = NULL;
kniha_t *tempnode = NULL;
uchar_t needle[100];
uchar_t haystack[100];
ushort_t occur = 0;
scanf("%s", &needle);
lower_string(needle);
while(actualnode != NULL)
{
copy_string(haystack, actualnode->autori);
lower_string(haystack);
if(search_string(haystack, needle))
{
occur++;
if (NULL != prevnode)
{
prevnode->next = actualnode->next;
}
else
{
inode = actualnode->next;
}
tempnode = actualnode;
actualnode = actualnode->next;
free(tempnode);
tempnode = NULL;
}
else
{
prevnode = actualnode;
actualnode = actualnode->next;
}
}
printf("Deleted sa %hu nodes\n", occur);
}
和東西,我必須加載它,忽略---:
http://pastebin.com/NPvEr3y6
的問題是,工程(:d)。直到我掃過所有的事件。
例如:
當我輸入pra時,它必須刪除所有包含「pra」的節點。它的功能就像一個魅力......但是當我只鍵入「p」時,它告訴我,所有的X事件都被釋放了,但它們留在緩衝區中,因爲我可以再次打印整個列表!
我會非常感謝,誰能給我一些建議。
很多許多甚至更多的感謝隊友!它像一個魅力! – Citrus 2013-05-06 10:14:21
@LászlóCitrusNagy,歡迎光臨! – Rohan 2013-05-06 10:23:25