帮我把下面一段读文件的MFC的程序改成纯的C或c++程序

帮我把下面一段读文件的MFC的程序改成纯的C或c++程序,第1张

定义一个文件对象

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文件的编写方式。对于简单数据类型,且结果单一的情况,一般使用第一种。复杂数据类型,或者需要的结果可能为多个变量的情况,一般使用第二种。不推荐使用第三种,尤其在多线程 *** 作情况下。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12137744.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存