CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

文本文件中数字类型数据的读取问题--在线等

楼主hawkhover(炎岩)2006-03-21 10:15:40 在 VC/MFC / 基础类 提问

目的:读取文本文件中的数据绘图。  
  文本文件内容如下(部分):  
  6.53E-02  
  7.14E-02  
  8.48E-02  
  9.64E-02  
  9.95E-02  
  1.04E-01  
  1.13E-01  
  1.06E-01  
  9.70E-02  
   
  我在C++中的程序如下:  
   
  #include"iostream.h"  
  #include   <afxdlgs.h>  
  #include<stdio.h>  
  void   main()  
  {  
  CString   path="C:\\ECG.txt";  
  CFileException   e;  
  char   aa[1000];  
  char*   FilePath;  
  CFile   File;  
  File.Open((LPCTSTR)path,CFile::modeRead,&e);  
  memset(aa,0,sizeof(aa));  
  UINT   readesize=File.Read(aa,sizeof(aa)-sizeof(TCHAR));  
  cout<<aa;  
  while(readesize>0)  
  {  
  memset(aa,0,sizeof(aa));  
  readesize=File.Read   (aa,sizeof(aa)-sizeof(TCHAR));  
  cout<<aa;  
  }  
  }  
  这个程序可以读出数据并在dos下显示  
  但是我把它放到vc中就不是很好用,程序如下:  
   
  char   Point[1000];  
  CString   path;  
  CFileDialog   CDiaDlg(TRUE,NULL);  
  if(CDiaDlg.DoModal   ()   ==   IDOK)  
  {  
  path=CDiaDlg.GetPathName();  
  }  
   
  CFileException   e;  
  CFile   File;  
  if(File.Open((LPCTSTR)path,CFile::modeRead,&e))  
  {  
  MessageBox("File   is   opened");  
  }  
   
  memset(Point,0,sizeof(Point));  
  UINT   readesize=File.Read(Point,sizeof(Point)-sizeof(TCHAR));  
  while(readesize>0)  
  {  
  memset(Point,0,sizeof(Point));  
  readesize=File.Read   (Point,sizeof(Point)-sizeof(TCHAR));  
   
  }  
  if   ((float)Point[1]==0)  
  {  
  MessageBox("Wrong");  
  }  
  m_Path=   path;  
  UpdateData(FALSE);  
  File.Close();  
   
  希望朋友们可以帮我指出错误,解决这个问题。或者提供一些其它方法。万分感谢。        
  问题点数:100、回复次数:12Top

1 楼happyparrot(快乐鹦鹉)回复于 2006-03-21 10:22:01 得分 0

晕。你所谓的问题到底是什么阿???  
  Top

2 楼ydfivy(我就是一送外卖的)回复于 2006-03-21 10:25:53 得分 0

怎么不对?  
  Top

3 楼lixiaosan(小三)回复于 2006-03-21 10:29:07 得分 0

虾么意思Top

4 楼huguyue6670(美丽海洋)回复于 2006-03-21 10:29:18 得分 0

你看一下你的数组里得到的是不是你的*.txt的数据,要是不就ok吗Top

5 楼hawkhover(炎岩)回复于 2006-03-21 11:08:49 得分 0

得到的不是我的数据,都是0,就是初始值。  
  我的问题就是用vc读文本文件中的数据,然后在vc的面板上绘图。谢谢各位Top

6 楼happyparrot(快乐鹦鹉)回复于 2006-03-21 11:19:33 得分 0

memset(Point,0,sizeof(Point));  
  UINT   readesize=File.Read(Point,sizeof(Point)-sizeof(TCHAR));  
  while(readesize>0)  
  {  
  memset(Point,0,sizeof(Point));  
  readesize=File.Read   (Point,sizeof(Point)-sizeof(TCHAR));  
   
  }  
  你这段代码垃圾阿。每次都memset(Point,0,sizeof(Point));自然最后Point中都是空了阿。Top

7 楼happyparrot(快乐鹦鹉)回复于 2006-03-21 11:20:41 得分 0

while(readesize>0)  
  {  
  memset(aa,0,sizeof(aa));  
  readesize=File.Read   (aa,sizeof(aa)-sizeof(TCHAR));  
  cout<<aa;  
  }  
  这段代码的cout可以输出aa,没有问题,但下次循环时,aa的内容又被你干掉了。Top

8 楼bluewindyy(班班)回复于 2006-03-21 11:27:28 得分 20

UINT   readesize=File.Read(Point,sizeof(Point)-sizeof(TCHAR));  
  while(readesize>0)  
  {  
  memset(Point,0,sizeof(Point));  
  readesize=File.Read   (Point,sizeof(Point)-sizeof(TCHAR));  
   
  }  
  不懂这些在干什么   你文件读出来后又memset为0了   不是等于白读Top

9 楼hawkhover(炎岩)回复于 2006-03-21 12:11:41 得分 0

把循环内部的这段代码memset(Point,0,sizeof(Point));  
  去掉了,但是数据还是不对Top

10 楼hawkhover(炎岩)回复于 2006-03-21 12:13:49 得分 0

关于那个cout<<aa只是在用C++的时候在DOS下显示输出的。我的目的主要还是在VC下读出数据,谢谢Top

11 楼bluewindyy(班班)回复于 2006-03-21 13:26:14 得分 30

你是不是想每次读取一行啊    
  CStdioFile的ReadString可以做到   你要读出数据在while里面那个  
  while(readesize>0)  
  {  
  memset(Point,0,sizeof(Point));  
  readesize=File.Read   (Point,sizeof(Point)-sizeof(TCHAR));  
  //   在这儿也应该有你要把数据显示出去的代码   怎么也没有呢    
  }  
   
   
  你的程序里aa,sizeof(aa)-sizeof(TCHAR)这种   我也不知道你是什么意思     sizeof(aa);是求aa所占的内存大小  
  char   aa[1000]是1000个字节   减去一个   tchar的大小   和你的要读的数据有什么关系  
  Top

12 楼happyparrot(快乐鹦鹉)回复于 2006-03-21 13:26:39 得分 50

memset(Point,0,sizeof(Point));  
  UINT   readesize=File.Read(Point,sizeof(Point)-sizeof(TCHAR));  
  while(readesize>0)  
  {  
  memset(Point,0,sizeof(Point));  
  readesize=File.Read   (Point,sizeof(Point)-sizeof(TCHAR));  
   
  }  
  晕阿。光去掉memset(Point,0,sizeof(Point));就行了么?你循环中每次都往Point中写,每次都会被覆盖阿,上次读的内容,下次就会被冲掉阿。这个问题不是VC的问题,是你连逻辑都搞不清楚。再定义一个数据块,来存储每次读出的Point中的内容。Top

相关问题

  • 读取文本文件
  • 读取文本文件?
  • 文本文件的读取
  • PHP读取文本文件
  • 如何读取文本文件?
  • 读取文本文件的问题?
  • 读取文本文件的问题?
  • 读取一个文本文件~555
  • 如何读取文本文件中?急!
  • 读取文本文件的代码

关键词

  • 数据
  • 文本文件
  • 读取
  • aa
  • cfile
  • 如下
  • sizeof
  • path
  • include
  • char

得分解答快速导航

  • 帖主:hawkhover
  • bluewindyy
  • bluewindyy
  • happyparrot

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

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