CreateFile是WIN32的API,fopen是C/C++的標準庫函數(shù)在iostream里,fopen在win32 API下,最后是調(diào)用了CreateFile來實現(xiàn)了;但是在linux或者UNIX之類的系統(tǒng)下面,iostream相應(yīng)地調(diào)用了它們OS的底層功能實現(xiàn)了創(chuàng)建文件,就不是CreateFile了,CreateFile只是WIN32的API而已,各個OS平臺下的iostream都是不相同的,都有對應(yīng)各平臺不同的實現(xiàn)。以上是我的理解,我的理解對不對? 實在是沒有辦法,現(xiàn)實生活身邊找不到一起差不多水平的一起學習研究,只是自個兒琢磨了
3 回答

紫衣仙女
TA貢獻1839條經(jīng)驗 獲得超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實現(xiàn)的手段不一樣,但最終表現(xiàn)出來的一樣的
只要對外表現(xiàn)一樣,內(nèi)部各種實現(xiàn)都可以的。
- 3 回答
- 0 關(guān)注
- 973 瀏覽
添加回答
舉報
0/150
提交
取消