C_and_CPP 板


LINE

我使用fscanf(file, "%s", &arr[i]);的方式 將A和B檔案的偶數行的前三項依序抓入arr1[]和arr2[]中來比對 但是出現一個問題 以第二行為例 雖然arr1[0]=|,arr1[1]=NUM,arr1[2]=| 且 arr2[0]=|,arr2[1]=NUM,arr2[2]=| 但是用if來比對arr1[i]與arr2[i]時卻是"FALSE" 為什麼?? 我不太懂 希望大大能幫我解答 看可以用甚麼方式來比對 謝謝!! ※ 引述《KengiBon (蜀中無大將)》之銘言: : 想請問程設的大大一個問題 : (本人是C語言初學者) : 拜託大大給小弟解惑一下 : (不一定要給我程式解答 但希望能給我一個方向 感恩!!) : 想把一個A檔案(a.txt)中的第一個欄位(NUM)與B檔案(b.txt)的NUM欄位依序比對 : 比對成功 則在A檔案中之最後一欄位(MODE)後增加一B檔案中的欄位(12hr)內容 : A檔案內容如下: : ----------------------------------------------------- : | NUM | CHART | DATETM | MODE | : ----------------------------------------------------- : | 1 | 123 | 上午 10:45:00 | EPIDURAL MODE | : ----------------------------------------------------- : | 2 | 25 | 下午 02:55:00 | PCA MODE | : ----------------------------------------------------- : | 3 | 10017587 | 下午 11:23:10 | PCA MODE | : (以下省略) : B檔案內容如下:(PS:與A檔案中欄位長不全相同) : ----------------------------------------------- : | NUM | CHART | 12hr | : ----------------------------------------------- : | 1 | 123 | 20 | : ----------------------------------------------- : | 2 | 25 | 12.5 | : ----------------------------------------------- : | 3 | 10017587 | 125 | : (以下省略) : 以上 : 我也找過一些資料 : 但大都是介紹C++的方法 : (但是不清楚能否用於C中 因為我主要是要寫C的程式)^^" : 若有甚麼太蠢或是表達不好的地方 還請各位大大能見諒 : 謝謝各位! --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.64.171.202
1F:推 VictorTom:請問你的arr1和arr2兩個array怎麼開的??看起來至少要先 04/29 21:52
2F:→ VictorTom:宣告兩個夠大的2維array, 照你這樣寫的話@_@" 04/29 21:53
3F:→ KengiBon:兩個都是[4][10240] 傳回值是int(不知跟char有甚麼差別 04/29 22:14
4F:推 VictorTom:請問您後面那句傳回值是int是什麼意思?_? 04/30 00:03
5F:→ VictorTom:您是 int arr1[4][10240]; 這樣嗎?? 那請改用char試試:) 04/30 00:03
6F:→ VictorTom:另外, char字串的compare應該用strcmp()這個function做 04/30 00:04
7F:→ VictorTom:推測您的寫法, arr1是一個2D array, arr2是另一個.... 04/30 00:04
8F:→ VictorTom:arr1[i]拿到的是第i個第一維度裡, 第二維度10240的頭的 04/30 00:05
9F:→ VictorTom:位址; 很饒舌, 簡單說就是你拿來比較的是array的某一個 04/30 00:06
10F:→ VictorTom:address, 而不是裡面存的value, 這個case它們比較永遠 04/30 00:06
11F:→ VictorTom:不會成立的. 請照00:04那推, 用strcmp(arr1[i],arr2[i]) 04/30 00:07
12F:→ VictorTom:這個function return 0代表字串相同, 但是你要確定你的 04/30 00:08
13F:→ VictorTom:兩個array都有'\0'結尾, 照理說你用fscanf應該就有了. 04/30 00:08
14F:→ VictorTom:最後還是那個建議, 只要不是太複雜或太機敏, 請貼code:) 04/30 00:09
15F:→ VictorTom:盡量別讓板友幫您找問題時還得先猜您可能是怎麼實作的XD 04/30 00:10
16F:→ VictorTom:補充一下, 如果您肯定file裡的data一定照個您的規定寫的 04/30 00:12
17F:→ VictorTom:'|'這個字元的判斷可以用 arr1[i][0] == arr2[i][0] 04/30 00:12
18F:→ VictorTom:保險一定要抓到'|', 還可以再 && arr1[i][0] == '|' 04/30 00:13
19F:→ KengiBon:感謝V大大的指導 我會試試看的(下次會把code也貼出來得:) 04/30 08:55







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP