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 關注
- 985 瀏覽
添加回答
舉報
0/150
提交
取消