自己构造了一个设备的类,想把设备的位置保存在txt文件中,按照qidian_x,qidian_y,zhongdian_x,zhongdian_y的顺序保存;
然后读取之,请问应该如何读取并且保存?我想最终在view中OnDraw函数里面能够画出来他们的位置,多谢高手!!!多谢多谢!bow

解决方案 »

  1.   


    POINT qidian, zhongdian;qidian.x = XXXXX;
    qidian.y = XXXXX;zhongdian.x = XXXXX;
    zhongdian.y = XXXXX;//write
    FILE *file = fopen("position.txt", "w");
    fwrite(&qidian, sizeof(qidian), 1, file);
    fwrite(&zhongdian, sizeof(zhongdian), 1, file);
    fclose(file);//read
    *file = fopen("position.txt", "r");
    fread(&qidian, sizeof(qidian), 1, file);
    fseek(file, sizeof(qidian), 0);
    fread(&zhongdian, sizeof(zhongdian), 1, file);
    fclose(file);也可试一下fscan和fprintf
    不过推荐使用CFile
      

  2.   

    上述的这些操作应该是在doc.cpp中实现,对嘛?如果创建了一些数组,应该如何去保存?可能是我没看明白,麻烦你能更清楚一些嘛?多谢了。
      

  3.   

    如果你用文档/视图结构的话,可用序列化。当然,不是文档/视图结构也能用序列化。网上找一下这方面的内容。
    //对于数组
    const int size = 100;
    int array[size];CFile file;//以写入方式打开文件,同fopen("position.txt", "w");
    file.Open("position.txt", CFile::modeWrite);//以array地址开始的sizeof(int)*size个字节数据写入到文件中,也就是array[size]在内存中的所有字节Copy到文件中。
    file.Write(array, sizeof(int)*size);
    file.Close();
    //以只读方式打开文件
    file.Open("position.txt", CFile::modeRead);//将文件中sizeof(int)*size个字节数据Copy到以array地址开始的内存中
    file.Read(array, sizeof(int)*size);
    file.Close();