fopen函式的問題 函式返回null的情況有哪些

時間 2021-10-14 21:10:43

1樓:御含靈

有幾種情況:1.硬碟空間滿,不能再建立檔案 2.檔名有錯誤,有非法字元比如?,*等

3.你對那個目錄沒有建立檔案的許可權,比如ntfs 4.檔案已經存在,但是無法被覆蓋或者開啟,比如另一個程序已經獨佔開啟了,這是你就不能再開啟了

2樓:小強恢恢

應該寫 (fp = fopen("disk.dat", "rb")) == null 。

前面沒括號,如果 fopen 返回 null,fp 就是 1,否則就是 null。

你的語句本質上是把後面 fopen 返回值和 null 比較的 bool 值給了fp。

相當於if(fopen("disk.dat", "rb")) == null)

fp = true;

else

fp = false;

或者fp = static_cast(fopen("disk.dat", "rb") == null);

另外,為了程式安全,最好使用 fopen_s,fopen 有安全隱患。

這個火不知道救得及不及時 = =

3樓:暖萱紫菱

檔案開啟失敗時,函式會返回null值。比如:

以「r」方式開啟一個不存在的檔案,就會返回null;

以"w"方式開啟一個不允許更改的檔案,或由其他程式開啟而鎖定的檔案,就會返回null;

4樓:風捲紅旗

樓上說法正確

還有就是你比如你想開啟f盤的某個檔案

但你電腦根本沒有f盤,這時就會出現io異常,就會返回null請採納為最佳答案,謝謝!

5樓:撿到的幸福

檔案不存在啦

讀寫許可權不夠啦等等

vb的函式返回值問題,VB的函式返回值問題

你這個函式只可能返回一個值0。因為你沒有給aaa賦什麼值,其預設值為0。一般來說,函式中的值是否返回是由程式設計者來決定的。如果返回a的值,則作以下更改 private function aaa as integer dim a,b as integer a 1b 2 aaa a 新增這條語句,返回...

函式返回name 是什麼意思啊,函式返回 NAME 是什麼意思啊

向日葵 建立這個類的例項物件的時候系統需要呼叫它,但是沒有返回值型別。也便是出現了錯。以excel的例子,解決方法 1 以如圖的求和公式為例,求和部分出現了 name?2 通常出現 name?符號的意思是出現了excel不能識別的東西,比如輸入錯誤的公式 沒有加引號的文字等等,需要一一檢查後方可判斷...

用asp 寫函式 返回值,asp函式返回值

function 函式名 引數 as 返回值型別 string integer 函式體。函式名 返回值。end function 以下為一個把字串中的 變為 的函式。function getstr string1 getstr replace string1,end function 例如 str1...