CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

诚恳求助:文本文件中数据的读取问题

楼主johnyang628()2006-08-01 22:30:20 在 C/C++ / C++ 语言 提问

 
  如下所示的格式:  
  <FRAME_LON>95.893426</FRAME_LON>  
  <FRAME_LAT>40.244672</FRAME_LAT>  
  ^^^^^^^^^  
  ^^^^^^^^^  
      有很多行,要读取其中的数字,怎样分离出来呀?  
    关键是<FRAME_LON>与数字间无空格或回车,若按字符读取,就会读取整行成为一个字符串,  
  <>中的字符串与夹在中间的数字之间是一一对应的,不知怎样进行有效分离,用结构体?  
    静盼高手回复,不胜感激!  
  问题点数:80、回复次数:5Top

1 楼UPCC(杂食动物)回复于 2006-08-01 23:24:36 得分 0

XML文件吗!很规范的,既然你发在C++了,那么直接写一个类读取很容易啊。  
  如果使用VC或者C#的话都有专门类出来了,使用C#处理就太容易了!  
   
   
  简单的说,先一行一行读出来,然后处理就可以了。这个相对XML的流处理就容易多了。  
  Top

2 楼UPCC(杂食动物)回复于 2006-08-01 23:28:15 得分 0

XmlDocument   document   =   new   XmlDocument();  
  document.Load(file);  
   
  XmlNodeList   list   =   document.ChildNodes;  
   
  foreach(XmlNode   xn   in   list)  
  {  
        XmlElement   xe   =   (XmlElement)xn;  
        if(xn.Name   ==   "FRAME_LON")  
        {  
                  xe.InnerText;  
        }  
        else   if(xn.Name   ==   "FRAME_LAT")  
        {  
                xe.InnerText;  
        }  
  }Top

3 楼jigangwang(wang)回复于 2006-08-02 08:41:02 得分 0

使用xerces     XML文件解析器,应该比较好解决.Top

4 楼jixingzhong(瞌睡虫·星辰)回复于 2006-08-02 09:28:14 得分 0

也可以用   MSXML解析XML   ...Top

5 楼windking21(想玩玩WOW 真的那么难吗)回复于 2006-08-02 09:38:55 得分 0

c++   里的函数   strtok   就能满足你的需要  
   
  Example  
  //   crt_strtok.c  
  /*   In   this   program,   a   loop   uses   strtok  
    *   to   print   all   the   tokens   (separated   by   commas  
    *   or   blanks)   in   the   string   named   "string".  
    */  
   
  #include   <string.h>  
  #include   <stdio.h>  
   
  char   string[]   =   "A   string\tof   ,,tokens\nand   some     more   tokens";  
  char   seps[]       =   "   ,\t\n";  
  char   *token;  
   
  int   main(   void   )  
  {  
        printf(   "Tokens:\n"   );  
        /*   Establish   string   and   get   the   first   token:   */  
        token   =   strtok(   string,   seps   );  
        while(   token   !=   NULL   )  
        {  
              /*   While   there   are   tokens   in   "string"   */  
              printf(   "   %s\n",   token   );  
              /*   Get   next   token:   */  
              token   =   strtok(   NULL,   seps   );  
        }  
  }  
  Output  
  Tokens:  
    A  
    string  
    of  
    tokens  
    and  
    some  
    more  
    tokens  
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:johnyang628

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo