CFile TheFile(curDir+"\\template.dat",CFile::modeCreate|CFile::modeReadWrite)
定义一个可串行化的对象,与上面寻个文件对象相关。这时候你 *** 作这个可串行化的类,也就是 *** 作上面定义的文件。
CArchive ar(&TheFile,CArchive::store,40960)
// 移动文件指针到文件的开始处,类似于C语言的fseek
TheFile.SeekToBegin()
ar<<的这个方法就是把这个数据写入文件,在这仅是写一简单数据类型,有点“大材小用”。
知道了原理用C语言写就容易了。
打开文件->移动文件指针->写入数据->关闭文件指针。
很艰难,几乎只具有参考性,没有多少重用价值。 首先:界面上就不要想着改了,必须自己做(其实这个不费事) 其次:因为MFC程序除了C++类和语法,通常还用了大量MFC封装功能,比如CString、CFile等,这些在Dos界面的标准C环境下是不能用的,都需要改动, 更何况,程序架构上,从消息机制改到dos下的函数机制。。复杂一点的程序几乎都没法改(比如线程、驱动) 综上,参考代码并使用某些实现算法的函数就好了,主体程序需要重做。可以按照以下方式进行,实行时不分先后。一、调用函数部分。
1 引入头文件。头文件在C语言中,负责声明函数,及定义相关数据结构等功能。要调用其它C文件中的函数,标准的做法是引用头文件。
2 如果不存在头文件,需要自行编写,也可以在引用文件中自行声明函数。不过后一种并不正规。
3 在声明或引用头文件后,就可以直接调用其函数了。
二、获取计算结果。
1 通过函数返回值获取结果。
2 通过函数参数获取结果。
3 在其它C文件中奖结果存入全局变量,然后通过全局变量获取结果。
以上三种方式均可以实现目的,具体使用取决于C文件的编写方式。对于简单数据类型,且结果单一的情况,一般使用第一种。复杂数据类型,或者需要的结果可能为多个变量的情况,一般使用第二种。不推荐使用第三种,尤其在多线程 *** 作情况下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)