發信人: guard.bbs@garfield.dorm.ncku.edu.tw (在妳背影守候), 看板: SobVersion
標 題: Re: 一個 bug...
發信站: 夢之大地 (Sun Oct 5 02:50:00 1997)
轉信站: fromzero!news.civil.ncku!Dream
※ 引述《yychen.bbs@yychen.personal.nccu.edu.tw (小陳)》之銘言:
: 如果有兩個好友(在名單裡)...
: 一個叫做 abc, 另一個叫做 abcd ...
: 然後咧, 突然想要把 abc 給刪掉, 所以就按 d, delete...
: 沒想到居然 abcd 也一起被弄掉了...
: 應該是 talk.c 裡頭的 friend_delete 出的問題:
: if ((genbuf[0] > ' ') && strncmp(genbuf, uident, length))
: fputs(genbuf, nfp);
: strncmp... 我不知道要怎麼改 ^_^;;
: 請各位大大指教...
+flag = 1
while(fgets(genbuf,STRLEN,fp) && flag)
{
if((genbuf[0] > ' ') && strncmp(genbuf,uident,length))
+{
fputs(genbuf,nfp);
+ flag = 0
+}
}
您試試吧....
從程式的流程式看來...這樣應該可以
--
今世我為妳笑顏而生 telnet://crystal.v1.dorm.ncku.edu.tw
只求來世妳是我的牽手 http://www.ee.ncku.edu.tw/~e2483310
E-mail Address: e2483310@sparc1.cc.ncku.edu.tw
--
※ Origin: 夢之大地 逼逼ㄟ四 ◆ From: crystal.v1.dorm.ncku.edu.tw
> -------------------------------------------------------------------------- <
發信人: Leeym.bbs@bbs.civil.ncku.edu.tw (Fight for GPA), 看板: SobVersion
標 題: Re: 一個 bug...
發信站: 成大土木大地雕塑家 (Sat Oct 4 20:49:38 1997)
轉信站: fromzero!news.civil.ncku!CivilEngineer
※ 引述《guard.bbs@garfield.dorm.ncku.edu.tw》之銘言:
: +flag = 1
: while(fgets(genbuf,STRLEN,fp) && flag)
: {
: if((genbuf[0] > ' ') && strncmp(genbuf,uident,length))
: +{
: fputs(genbuf,nfp);
: + flag = 0
: +}
: }
: 您試試吧....
: 從程式的流程式看來...這樣應該可以
你確定?如此 while loop 只要 flag 一變成 0 就結束.
這樣不但誤砍的問題沒有解決, 而且被砍者之後的所有好友跟著一起消失.
--
Yen-Ming Lee
88B, Civil Engineering, NCKU, Tainan, Taiwan. Phone:886-6-2757755-x51697
mailto:leeym@mail.civil.ncku.edu.tw http://www.civil.ncku.edu.tw/~leeym/
--
※ From: sun.civil.ncku.edu.tw
※ Origin: 成大土木大地雕塑家 telnet://bbs.civil.ncku.edu.tw/
> -------------------------------------------------------------------------- <
發信人: guard.bbs@garfield.dorm.ncku.edu.tw (在妳背影守候), 看板: SobVersion
標 題: Re: 一個 bug...
發信站: 夢之大地 (Sun Oct 5 03:11:28 1997)
轉信站: fromzero!news.civil.ncku!Dream
嗯...在試一次...
不過這次測試過了....
※ 引述《yychen.bbs@yychen.personal.nccu.edu.tw (小陳)》之銘言:
: 如果有兩個好友(在名單裡)...
: 一個叫做 abc, 另一個叫做 abcd ...
: 然後咧, 突然想要把 abc 給刪掉, 所以就按 d, delete...
: 沒想到居然 abcd 也一起被弄掉了...
: 應該是 talk.c 裡頭的 friend_delete 出的問題:
if ((genbuf[0] > ' ') && strncmp(genbuf, uident, length))
改成
if((genbuf[0] > ' ') && (strncmp(genbuf,uident,length)||genbuf[length] != ' '))
~~~~~~~~~~~~~~~~~~~~~~~~~
新加的....
這次應該沒問題了....:-)
: fputs(genbuf, nfp);
: strncmp... 我不知道要怎麼改 ^_^;;
: 請各位大大指教...
--
今世我為妳笑顏而生 telnet://crystal.v1.dorm.ncku.edu.tw
只求來世妳是我的牽手 http://www.ee.ncku.edu.tw/~e2483310
E-mail Address: e2483310@sparc1.cc.ncku.edu.tw
--
※ Origin: 夢之大地 逼逼ㄟ四 ◆ From: crystal.v1.dorm.ncku.edu.tw
.