怎样通过VC++使用基于MFC 编写一个可以读取编写保存txt文件的程序?要详细啊 说不清楚加qq675907807 200

txt文件中是两列坐标数据!怎么能读取并且一列表示横坐标一列表示纵坐标显示在窗口上?并且能够修改数据和保存更改后的数据??跪求大神指导啊!!!qq675907807又追加... txt文件中是两列坐标数据!怎么能读取并且一列表示横坐标一列表示纵坐标显示在窗口上?并且能够修改数据和保存更改后的数据??跪求大神指导啊!!!qq675907807 又追加财富 展开
 我来答
百度网友3b14b43
2013-05-07 · TA获得超过178个赞
知道答主
回答量:98
采纳率:0%
帮助的人:50.9万
展开全部

我给你读取txt的程序,你稍微修改一下就可以用了,我自己刚刚测试一下,可以用的。

 

我这里的txt,都是整数数据,分成两列,如果你有更多列,就加上while语句吧!

#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main()
{
    char seps[] = " ,\t\n";
    char * token;
    fstream fin("my.txt");
    string temp;
    char * mystring;
    int a = 0;
    //string temp = "A string\tof ,,tokens\nand some  more tokens";
    int num = 0;
    while(getline(fin, temp))
    {
        num++;
    }
    fin.clear();
    fin.seekg(ios::beg);// 当不知道长度时候调用
    int * x = new int[num];
    int * y = new int[num];
    int i = 0;
    while(getline(fin, temp))
    {
        mystring = new char[temp.length()+1];
        std::strcpy(mystring, temp.c_str());
        token = strtok( mystring, seps );
        x[i] = atoi(token);
        token = strtok( NULL, seps );
        y[i] = atoi(token);
        i++;
        delete mystring;
    }
    //delete token;
    for(int j = 0; j < num; j++)
        cout << x[j] <<" " << y[j] << endl;
    system("pause");
    return 0;
}

龚炜林
2013-05-07 · TA获得超过1560个赞
知道大有可为答主
回答量:1102
采纳率:66%
帮助的人:578万
展开全部
从这里看来,读取与显示已经可以基本确定使用何种方式。但是你的修改可能要斟酌一下:是要在显示的图形上修改还是另外添加两个控件让用户手动输入坐标然后修改其值的,修改后可以再更新显示,然后保存数据。如果是在显示的图上修改有点麻烦,而且也不知道你到底多少个点,每个点画出来可能都成一个蜂窝了......
画图的话,看你这也没多复杂,可以直接自己绘制,而屏幕坐标是整数的,你的数据必须要根据显示区域的大小进行按比例绘制。
比如显示区域宽200
你的x坐标的最大值是100,假设你有x坐标为5,那你这5在显示区域的坐标就是5/100*200 = 10。
另:如果你的点数不是很大,可以单点绘制在显示区域,然后移动鼠标到指定点的附近就显示它的x和y的值,同时提供编辑框可以修改其值即可。点数大了也没关系,把显示区域搞成滚动的。
大概就能扯这么多,看你具体修改采用何种方式了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pengguismile
2013-05-06 · TA获得超过687个赞
知道小有建树答主
回答量:332
采纳率:100%
帮助的人:124万
展开全部
用CFi|e读取,保存,读入缓冲区后,见到回车换行符就换一行,当然,要求不高可以用向导建立单文档介面,你甚至不用输入任何代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦里花更香
2013-05-06 · 超过31用户采纳过TA的回答
知道答主
回答量:175
采纳率:0%
帮助的人:110万
展开全部
这个你可以先将所有的数据读出离,放在CStringArray,然后再重新写入,当读到当前数据时进行修改
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式