如何在我的if语句中重复我的城市价值?

时间:2014-05-26 01:58:53

标签: c

在我的void parseListings()中,我有一个if语句检查“N / A”条件,如果不存在,我需要附加单元号。问题是,当条件为真时,它会将城市名称附加两次。有没有人能快速解决这个问题?任何帮助都会大大减少。此程序从分隔文件中读取,然后将其写入另一个文件。分隔文件如下所示:


123 Cherry Tree Drive#330#Condo#2#1#275900#Toronto#
14 Leaside Lane#N/A#House#4#2#445500#Brampton#
2478 Waterfront Avenue#N/A#House#5#3#899900#Mississauga#
7 Lucky Lane#1206#Condo#3#2#310000#Toronto#
51 West Street#32#Townhouse#4#2#450000#Brampton#
193 Crystal Road#1519#Condo#1#1#250750#Toronto#
3914 Tangerine Terrace#N/A#House#3#1#427750#Mississauga#
10 Redding Road#N/A#House#4#2#512350#Toronto#
76 Old School Avenue#227#Townhouse#3#2#475000#Toronto#
90 Brookhaven Terrace#N/A#House#4#2#512750#Brampton#

输出应该是这样的:


1 个答案:

答案 0 :(得分:3)

您的unitNum数组大小为10。

您使用:

sprintf(append," Unit #%s , ",token);
strcpy(listing[n].unitNum, append);

你没有允许任何空间用于单位编号,所以你的数组已经溢出,所以下面的内容也被打印出来,接下来的是(惊喜)城市。因此,将unitNum上的维度增加到至少15(这将允许4位数的单位数)。