猿问

CreateFile和fopen的关系,我的理解对吗?

CreateFile是WIN32的API,
fopen是C/C++的标准库函数
在iostream里,fopen在win32 API下,最后是调用了CreateFile来实现了;
但是在linux或者UNIX之类的系统下面,iostream相应地调用了它们OS的底层功能实现了创建文件,就不是CreateFile了,CreateFile只是WIN32的API而已,各个OS平台下的iostream都是不相同的,都有对应各平台不同的实现。

以上是我的理解,我的理解对不对? 
实在是没有办法,现实生活身边找不到一起差不多水平的一起学习研究,只是自个儿琢磨了

呼唤远方
浏览 915回答 3
3回答

紫衣仙女

我感觉你的理解是正确的,就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实现的手段不一样,但最终表现出来的一样的只要对外表现一样,内部各种实现都可以的。
随时随地看视频慕课网APP
我要回答