[問題] 拿掉字串中換行符號出現奇怪的錯誤
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
我寫了一個程式
由於要用fscanf讀檔再作字串比對
所以要拿掉字串的換行符號
結果出現奇怪的錯誤
我不知道錯在哪
幫幫我好嗎
謝謝
希望得到的正確結果:
Input your("b" to quit):a
tmp=
----
String[j]=apple
----
0 apple
tmp=
----
String[j]=i have a apple.
----
1 i have a apple.
tmp=
----
String[j]=cookies
----
2 cookies
程式跑出來的錯誤結果:
Input your("b" to quit):a
tmp=
----
String[j]=apple
----
0 apple
tmp=
----
String[j]=i have a apple.
----
1 i have a apple.
tmp=
----
String[j]=cookies
----
2 cookiesa apple.
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Dev-C++
有問題的code: (請善用置底文標色功能)
http://codepad.org/fvHQq1yF
問題出在Compare()下的
for(j=0;j<=i;j++){
//清空tmp
strcpy(tmp,"");
printf("tmp=%s\n",tmp);
printf("----\nString[j]=%s----\n",String[j]);
strncpy(tmp, String[j], strlen(String[j]) -1);
strcpy(String[j], tmp);
printf("%d %s\n\n\n",j,String[j]);
}//end for-j
補充說明:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.123.129.143
推
10/12 03:39, , 1F
10/12 03:39, 1F
→
10/12 03:43, , 2F
10/12 03:43, 2F
→
10/12 03:44, , 3F
10/12 03:44, 3F
→
10/12 03:54, , 4F
10/12 03:54, 4F
→
10/12 03:59, , 5F
10/12 03:59, 5F
→
10/12 07:18, , 6F
10/12 07:18, 6F
→
10/12 15:30, , 7F
10/12 15:30, 7F
→
10/12 17:46, , 8F
10/12 17:46, 8F
→
10/12 17:47, , 9F
10/12 17:47, 9F
→
10/12 22:30, , 10F
10/12 22:30, 10F