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灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP