找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 602|回复: 8

[求助]:ARX中如何读取数据文件

[复制链接]
发表于 2003-9-19 10:39:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我想读取以下格式的点坐标,将这些点展到图上,应如何处理,哪位请指教。
1,,3410073.6,37515842.4,54.40
2,,3410077.5,37515858.2,48.70
3,,3410072.6,37515882.8,38.40
4,,3410067.0,37515904.4,24.10
5,,3410062.8,37515921.7,16.00
6,,3410061.4,37515935.0,14.40
7,,3410059.9,37515956.8,13.20
8,,3410057.3,37515978.5,11.90
9,,3410055.8,37515987.1,10.30
10,,3410051.0,37516009.5,7.10
11,,3410046.4,37516028.7,3.60
12,,3410042.8,37516042.9,.70
13,,3410038.3,37516065.9,-4.90
14,,3410035.6,37516084.7,-8.20
注:第一列是点号,第二列是X坐标,依次是Y,Z坐标,该文件存储在XX.txt文件中。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-9-19 16:05:55 | 显示全部楼层
char* pFname = "D:\\XX.TXT";
        CStdioFile        csFileName;
        if(!csFileName.Open(pFname, CFile::modeRead | CFile::typeText)){
                return RTERROR;
        }

        CString        csLine;
        while(csFileName.ReadString(csLine)){
                short nPos = csLine.Find(',');
                CString cs = csLine.Left(nPos);
                long dh = atoi(cs.operator LPCTSTR());

                csLine = csLine.Mid(nPos+1);
                nPos = csLine.Find(',');
                cs = csLine.Left(nPos);
                double x = atof(cs.operator LPCTSTR());

                csLine = csLine.Mid(nPos+1);
                nPos = csLine.Find(',');
                cs = csLine.Left(nPos);
                double y = atof(cs.operator LPCTSTR());

                cs = csLine.Mid(nPos+1);
                double z = atof(cs.operator LPCTSTR());
                //Do other thing ...

        }
        csFileName.Close();

供参考。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-9-19 23:47:32 | 显示全部楼层
To PLgis,大哥,帮忙帮到底,CstudioFile类是MFC类吧,我在头文件中加入了#include '"afx.h",
为什么还是编译不能通过,提示f:\microsoft visual studio\vc98\mfc\include\afxv_w32.h(14) : fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include
Error executing cl.exe.
是怎么回事,另外ARX类有没读写数据的类,麻烦你了大哥,帮帮小弟。也请各位高手出招。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-21 08:22:36 | 显示全部楼层
用MFC读写数据文件不是很方便吗?为什么还要找ARX的呢?都是一样的嘛。

可能是头文件定义的有问题,也可以在VC编译器中设置一下可以解决
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-9-21 10:41:20 | 显示全部楼层
可是我已经在头文件中加入了#include '"afx.h",还需要设置什么,我感到很压抑,麻烦帮我解决一下,好不好。

斑竹及好心人帮帮我,我难过的要死。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-21 15:31:59 | 显示全部楼层
是不是你新建工程的时候没有所要MFC支持?
同时附上一个分割字符串的函数


  1. ///////////////////////////////////////////////////////////////
  2. //        函 数 名 : DivideString
  3. //        所属类名 : oxaTestCase
  4. //        函数功能 : 根据指定字符串为分割符号分割字符串为字符串数组。
  5. //        返 回 值 : void
  6. //        参数说明 : CString str   //要分割的字符串
  7. //                                 CString  devChar , //分割符,可以有多个字符
  8. //                                CStringArray *  &rtStrings  //分割后的结果存储在字符串数组里
  9. ///////////////////////////////////////////////////////////////
  10. void oxaTestCase::DivideString(CString str, CString  devChar ,CStringArray *  &rtStrings)
  11. {
  12.        
  13.         int devLength= devChar.GetLength();
  14.         int pos=str.Find(devChar);
  15.        
  16.     while (pos!=-1)
  17.         {
  18.                 pos=str.Find(devChar);
  19.                 if ( pos!=-1)
  20.                 {
  21.                         if (pos!=0)
  22.                         {
  23.                                 rtStrings->Add(str.Left(pos));       
  24.                         }
  25.                         //取字符串右侧余下的部分
  26.                         int leftLength=str.GetLength()-devLength-pos;
  27.                         if (leftLength>0) {
  28.                                 str=str.Right(leftLength);
  29.                         }
  30.                         else   //处理最后字符串为分割符的情况
  31.                         {
  32.                                 str="";
  33.                         }       
  34.                 }
  35.     }
  36.         if (str.GetLength()>0)  { rtStrings->Add(str); }       
  37.          
  38.          
  39. }
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-22 08:39:33 | 显示全部楼层
三楼请注意: 是CStdioFile, 不是CstudioFile
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-9-22 15:54:06 | 显示全部楼层
谢谢各位的提示,问题已解决了,新建工程时需要MFC支持,就可以通过编译了。再次感谢。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-23 09:55:32 | 显示全部楼层
这个东东有点用!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-15 00:53 , Processed in 0.445580 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表