| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2862 人关注过本帖
标题:C语言读取文件,查找字符。。。。(高手帮忙看看,小弟搞了好几天了)
只看楼主 加入收藏
zhangxf1989
Rank: 6Rank: 6
等 级:侠之大者
帖 子:96
专家分:419
注 册:2009-9-5
收藏
得分:0 
以下是weather文件中写的内容:
map.setCenter(new GLatLng(22.5333, 114.1333), 5);
这个是weather_id.txt文件中写的内容:
程序代码:
CHXX0112,Qiqihar,China,47.3408333,123.9672222,+8
CHXX0113,Qitai,China,10000,10000,+0
CHXX0114,Quanzhou,China,24.9138889,118.5858333,+8
CHXX0115,Shache,China,38.4166667,77.2405556,+8
CHXX0116,Shanghai,China,31.005,121.4086111,+8
CHXX0117,Shaoxing,China,30.0016667,120.5811111,+8
CHXX0118,Shashi,China,30.3072222,112.2447222,+8
CHXX0119,Shenyang,China,41.7922222,123.4327778,+8
CHXX0120,Shenzhen,China,22.5333333,114.1333333,+8
CHXX0121,Shiguaigou,China,10000,10000,+0
CHXX0122,Shijiazhuang,China,10000,10000,+0
CHXX0123,Shilong,China,23.1144444,113.8472222,+8
CHXX0124,Shuangcheng,China,45.35,126.2833333,+8
CHXX0125,Shule,China,10000,10000,+0
CHXX0126,Stanley,China,10000,10000,+0
CHXX0127,Suining,China,30.5333333,105.5333333,+8
CHXX0128,Suining,China,22.5333,114.1333,+8
下面是程序运行结果:
tmp1:22.5333
tmp2:114.1333
CHXX0128,Suining,China,22.533300,114.133301,+8
请按任意键继续. . .

2010-07-16 19:22
cz737
Rank: 2
等 级:论坛游民
帖 子:85
专家分:20
注 册:2010-7-7
收藏
得分:0 
请问下 if(fabs(pointx-weater_test[i].x)<0.00001)
            if(fabs(pointy-weater_test[i].y)<0.00001)这两句是判断什么的



CHXX0120,Shenzhen,China,22.5333333,114.1333333,+8这一句里面也有那两个坐标为什么输出了下面的上面的没输出呢


[ 本帖最后由 cz737 于 2010-7-16 19:51 编辑 ]
2010-07-16 19:50
cz737
Rank: 2
等 级:论坛游民
帖 子:85
专家分:20
注 册:2010-7-7
收藏
得分:0 
这个程序我运行了,得不到给的结果,结果是吧文件的内容全部输出来了,还有点乱码在里面
2010-07-16 20:59
zhangxf1989
Rank: 6Rank: 6
等 级:侠之大者
帖 子:96
专家分:419
注 册:2009-9-5
收藏
得分:0 
回复 12楼 cz737
判断两个浮点数是否相等不能直接用等号(因为浮点数在电脑中表示会有误差),所以要用两个浮点数差的绝对值来判断,之所以有一行没有输出来是因为设定的判断精确度太高,当把0.000001改为0.00004(即如果两个数之间有0.00004的差距的话就认为两个数相等,当然精确度的值到底设定为多少还要看电脑CPU及操作系统等因素,如果要求精度不是很高的话可以适当的把这个数改大一点)之后两个就都输出来了:
程序代码:
tmp1:22.5333
tmp2:114.1333
CHXX0120,Shenzhen,China,22.533333,114.133331,+8
CHXX0128,Suining,China,22.533300,114.133301,+8
请按任意键继续. . .
程序没有办法运行的原因可能出在你的编译器的身上,我用的IDE是C-free 4.1编译器为gcc 4.4.0(MinGW)。如果你还在用TC的话就应该换了(TC毕竟太老了),另外如果你也是用的其它以MinGW为编译器的IDE的话一定要确保gcc的版本为3.4.5或以上(因为低版本MinGW中的gcc很不稳定)
2010-07-16 21:37
cz737
Rank: 2
等 级:论坛游民
帖 子:85
专家分:20
注 册:2010-7-7
收藏
得分:0 
第二个文件我用fgets一行行的读取让后加了个if判断语句里面用strstr这个函数查找字符串就实现了,办法是笨了点不错还是实现了,呵呵
谢谢zhangxf1989
2010-07-17 14:21
zhangxf1989
Rank: 6Rank: 6
等 级:侠之大者
帖 子:96
专家分:419
注 册:2009-9-5
收藏
得分:0 
回复 15楼 cz737
其实本来如果你在结构体中不把x,y定义成float型而直接定义成一个字符串程序写起来会简单的多,而且也完全没有必要把数据存到结构体中去,就照你最后说的办法是最简单的最有效的方法
2010-07-17 19:23
快速回复:C语言读取文件,查找字符。。。。(高手帮忙看看,小弟搞了好几天了)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015183 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved