logo资料库

使用MFC读取txt数据画曲线图.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
关于MFC读取txt数据,并且画曲线图解决方法
关于 MFC 读取 txt 数据,并且画曲线图解决方法 关于 MFC 读取 txt 数据,并且画曲线图记事本中保存的数据格式如: 11 33 88 28 33 10 56 87 11 20 ... 比如每行 5 个数据,有很多行。现在想把数据读出来,并且画曲线图到已经创建好的对话 框上,希望画出坐标轴和数据点曲线,要这么做 ------解决方案-------------------- 得到数据,格式化到数组中 根据数组的值,反复 moveto,lineto... ------解决方案-------------------- 举一个例子,怎么读取格式化的文本文件,也就是你的整数型的,参考下面的 将一些格式化的数据写入文本文件,再从该文件中以格式化方法读出显示到屏幕上,其格式 化数据是两个学生记录,包括姓名、学号、两科成绩。 #include 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,&studen t.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); } 其效果完全相同。
分享到:
收藏