关于MFC读取txt数据,并且画曲线图

UESTC少尉 2012-08-20 10:26:46
本人刚学MFC,很多都不太懂,现在要做一个如题中所写的小作业,记事本中保存的数据格式如:
123 245 109 348 123
10 256 487 111 230
...
比如每行5个数据,有很多行。现在想把数据读出来,并且画曲线图到已经创建好的对话框上,希望画出坐标轴和数据点曲线,不知道具体要这么做?(另外还有一个问题,假如我在对话框中添加画图的控件TeeChart,那么画图的时候,又该如何处理?)
这个问题很多高手看了,可能会觉得很简单,请不要见笑,帮帮我这个新手,先谢谢了

...全文
1092 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xueyan8877 2014-02-11
  • 打赏
  • 举报
回复
楼主,楼主,传授一下经验啊!!!不胜感激
萧哉 2013-12-11
  • 打赏
  • 举报
回复
同问,我也想知道咋解决的啊。先谢谢楼主了
五新 2013-08-23
  • 打赏
  • 举报
回复
咋解决的啊。。。
UESTC少尉 2012-08-22
  • 打赏
  • 举报
回复
问题基本上解决了,该结贴了,3楼的兄弟回答的比较多,虽然没有采用,但是十分感谢,还有1楼的那位哥们。分数按照比例分给你们吧
whucv 2012-08-20
  • 打赏
  • 举报
回复
fp=fopen("test.txt","r"))
以文本方式读 打开文件
fscanf(fp,"%s %s %f %f\n"
格式化读取
whucv 2012-08-20
  • 打赏
  • 举报
回复
举一个例子,怎么读取格式化的文本文件,也就是你的整数型的,参考下面的
将一些格式化的数据写入文本文件,再从该文件中以格式化方法读出显示到屏幕上,其格式化数据是两个学生记录,包括姓名、学号、两科成绩。
#include<stdio.h>
main( )
{
FILE *fp;
int i;
struct stu{ /*定义结构体类型*/
char name[15];
char num[6];
float score[2];
}student; /*说明结构体变量*/
if((fp=fopen("test1.txt","w"))==NULL)
{ /*以文本只写方式打开文件*/
printf("cannot open file");
exit(0);
}
printf("input data:\n");
for( i=0;i<2;i++)
{
scanf("%s %s %f %f",student.name,student.num,&student.score[0],
&student.score[1]); /*从键盘输入*/
fprintf(fp,"%s %s %7.2f %7.2f\n",student.name,student.num,
student.score[0],student.score[1]); /* 写入文件*/
}
fclose(fp); /*关闭文件*/
if((fp=fopen("test.txt","r"))==NULL)
{ /*以文本只读方式重新打开文件*/
printf("cannot open file");
exit(0);
}
printf("output from file:\n");
while (fscanf(fp,"%s %s %f %f\n",student.name,student.num,&student.score[0],student.score[1])!=EOF)
/ *从文件读入* /
printf("%s %s %7.2f %7.2f\n",student.name,student.num,
student.score[0],student.score[1]); /* 显示到屏幕*/
fclose(fp); /*关闭文件*/
}


程序设计一个文件变量指针,两次以不同方式打开同一文件,写入和读出格式化数据,有一点很重要,那就是用什么格式写入文件,就一定用什么格式从文件读,否则,读出的数据与格式控制符不一致,就造成数据出错。上述程序运行如下:
input data:
xiaowan j001 87.5 98.4
xiaoli j002 99.5 89.6
output from file:
xiaowan j001 87.50 98.40
xiaoli j002 99.50 89.60

列表文件的内容显示为:
c:\>type test.txt
xiaowan j001 87.50 98.40
xiaoli j002 99.50 89.60
此程序所访问的文件也可以定为二进制文件,若打开文件的方式为:
if ((fp=fopen("test1.txt","wb"))==NULL)
{ / * 以二进制只写方式打开文件* /
printf("cannot open file");
exit(0);
}
其效果完全相同。

UESTC少尉 2012-08-20
  • 打赏
  • 举报
回复
能不能具体点,最好给几句核心代码,谢谢啊[Quote=引用 1 楼 的回复:]
得到数据,格式化到数组中
根据数组的值,反复moveto,lineto...
[/Quote]
dickbarry 2012-08-20
  • 打赏
  • 举报
回复
得到数据,格式化到数组中
根据数组的值,反复moveto,lineto...

1,650

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧