CreateFile是WIN32的API,fopen是C/C++的标准库函数在iostream里,fopen在win32 API下,最后是调用了CreateFile来实现了;但是在linux或者UNIX之类的系统下面,iostream相应地调用了它们OS的底层功能实现了创建文件,就不是CreateFile了,CreateFile只是WIN32的API而已,各个OS平台下的iostream都是不相同的,都有对应各平台不同的实现。以上是我的理解,我的理解对不对? 实在是没有办法,现实生活身边找不到一起差不多水平的一起学习研究,只是自个儿琢磨了
3 回答
紫衣仙女
TA贡献1839条经验 获得超15个赞
我感觉你的理解是正确的,就WIN32平台下,我们做一个实验
#include "stdafx.h"
int main(int argc, char* argv[])
{
fopen("c:/123.txt","r");
printf("Hello World!\n");
return 0;
}
上面这段代码 编译之后 形成一个exe,我们用OD载入之后 在CreateFile下一个断点 然后
在OD中运行程序,程序最终会中断在CreateFile处
fopen是标准C的东西,不同的平台对fopen实现的手段不一样,但最终表现出来的一样的
只要对外表现一样,内部各种实现都可以的。
- 3 回答
- 0 关注
- 914 浏览
添加回答
举报
0/150
提交
取消