1樓:匿名使用者
1,相對路徑錯了;2,檔名命名的有問題,比如開啟fopen("1.txt","r");在相對路徑下建立文字檔案的的時候,將該檔案命名為1 就可以了,不要加字尾.txt。
1,相對路徑錯了;2,檔名命名的有問題,比如開啟fopen("1.txt","r");在相對路徑下建立文字檔案的的時候,將該檔案命名為1 就可以了,不要加字尾.txt。
1,相對路徑錯了;2,檔名命名的有問題,比如開啟fopen("1.txt","r");在相對路徑下建立文字檔案的的時候,將該檔案命名為1 就可以了,不要加字尾.txt。
1,相對路徑錯了;2,檔名命名的有問題,比如開啟fopen("1.txt","r");在相對路徑下建立文字檔案的的時候,將該檔案命名為1 就可以了,不要加字尾.txt。
1,相對路徑錯了;2,檔名命名的有問題,比如開啟fopen("1.txt","r");在相對路徑下建立文字檔案的的時候,將該檔案命名為1 就可以了,不要加字尾.txt。
2樓:個性青春我的選擇
fopen開啟檔案失敗,有兩個可能的原因:
1,相對路徑錯了;2,檔名命名的有問題,比如開啟fopen("1.txt","r");在相對路徑下建立文字檔案的的時候,將該檔案命名為1 就可以了,不要加字尾.txt。
3樓:雨晴時尚影視
【問題詳細內容】用fopen開啟二進位制檔案,先用wb+,如果成功開始讀寫,如果失敗用rb+開啟,然後讀寫,如果再失敗,退出程式,每次失敗都會返回getlasterror(),有時候成功,有時候兩次都顯示錯誤123。查詢後發現123是卷標或路徑的語法錯誤,首先針對的是同一檔案,其次用的路徑是windows傳給我的引數,但是有時會出錯,有時不會。是怎麼 回事?
【解答】檢查出錯的時候,是不是檔名中有空格,或者有中文。如果是,那麼就別用fopen了,用cfile類來代替吧。然後給程式裡增加一些除錯資訊,當出錯的時候,把檔名列印出來看看是否正確。
傳送方用的strlen()+1定義長度,這樣可以把字串尾部的結束符一起傳送過去
4樓:匿名使用者
你看看出錯的時候,是不是檔名中有空格,或者有中文。
如果是,那麼就別用fopen了,用cfile類來代替吧。
5樓:天天向上知識店鋪
你的檔案路徑應該是:
「g:\\tmp\\users.txt」
6樓:韌勁
fopen函式用來開啟乙個檔案,其呼叫的一般形式為:
檔案指標名=fopen(檔名,使用檔案方式);
「檔案指標名」必須是被說明為file 型別的指標變數;
「檔名」是被開啟檔案的檔名;
「使用檔案方式」是指檔案的型別和操作要求。
「檔名」是字串常量或字元陣列。
例如:file *fp;
fp=fopen("file a","r");
其意義是在當前目錄下開啟檔案file a,只允許進行「讀」操作,並使fp指向該檔案。
又如:file *fphzk
fphzk=fopen("c:\\hzk16","rb");
其意義是開啟c驅動器磁碟的根目錄下的檔案hzk16,這是乙個二進位制檔案,只允許按二進位制方式進行讀操作。兩個反斜線「\\ 」中的第乙個表示轉義字元,第二個表示根目錄。
使用檔案的方式共有12種,下面給出了它們的符號和意義。
檔案使用方式
7樓:ghos丶
fp是 file* 指標
if((fp=fopen("key.txt","r"))==null);
在後面加上一句,perror("why i could not open the file?\n");
8樓:匿名使用者
file = false;
while(!file)
9樓:樂樂不褥羊毛
解除安裝重新啟動,手機重啟試試
c語言fopen函式打不開檔案
10樓:刺友互
1、新建乙個fopen函式的使用專案。
2、包含需要用到的標頭檔案。
3、輸入_tmain函式。
4、在msdn上,檢視fopen的函式原型。
5、輸入fopen函式。
6、定義乙個file型別的指標變數f,並接受返回值。
7、使用if語句判斷檔案是否開啟成功。
8、按快捷鍵f5,執行程式,檢視結果。
11樓:go陌小潔
①檔案不存在;
②檔名錯誤,開啟檔案的名字應該寫成"c:\\file.txt",而不是"c:\file.txt";
③**錯誤;
fopen函式用於開啟檔案並獲取檔案的指標,以便對檔案進行操作。
函式原型:file * fopen(const char * path,const char * mode);
引數:path字串包含欲開啟的檔案路徑及檔名,引數mode字串則代表著流形態。
mode有下列幾種形態字串:
r 以唯讀方式開啟檔案,該檔案必須存在。
r+ 以可讀寫方式開啟檔案,該檔案必須存在。
rb+ 讀寫開啟乙個二進位制檔案,允許讀寫資料,檔案必須存在。
w 開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。
w+ 開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案。
a 以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留。(eof符保留)
a+ 以附加方式開啟可讀寫的檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留。 (原來的eof符不保留)
wb 只寫開啟或新建乙個二進位制檔案;只允許寫資料。
wb+ 讀寫開啟或建立乙個二進位制檔案,允許讀和寫。
ab+ 讀寫開啟乙個二進位制檔案,允許讀或在檔案末追加資料。
上述的形態字串都可以再加乙個b字元,如rb、w+b或ab+等組合,加入b 字元用來告訴函式庫以二進位制模式開啟檔案。如果不加b,表示預設加了t,即rt,wt,其中t表示以文字模式開啟檔案。由fopen()所建立的新檔案會具有s_irusr|s_iwusr|s_irgrp|s_iwgrp|s_iroth|s_iwoth(0666)許可權,此檔案許可權也會參考umask值。
有些c編譯系統可能不完全提供所有這些功能,有的c版本不用"r+","w+","a+",而用"rw","wr","ar"等,讀者注意所用系統的規定。
返回值:
檔案順利開啟後,指向該流的檔案指標就會被返回。如果檔案開啟失敗則返回null,並把錯誤**存在errno中。
一般而言,開啟檔案後會做一些檔案讀取或寫入的動作,若開啟檔案失敗,接下來的讀寫動作也無法順利進行,所以一般在fopen()後作錯誤判斷及處理。
示例:以唯讀方式開啟檔案
#include
#define f_path "d:\\myfile\\file.dat"
int main(void)
fclose(fp);
fp=null;//需要指向空,否則會指向原開啟檔案位址
return 0;}
12樓:金色潛鳥
如果開啟來讀,檔案不存在,或檔案路徑錯,或沒有檔案的訪問權。
如果開啟來寫,資料夾是否允許寫,檔案是否存在,但有寫保護。
file *fp;
fp = fopen(...);
用 返回的 fp 可以判斷 開啟是否成功: if (!fp) printf("open error!\n");
13樓:齊霸王在江湖夢
in = fopen("d:\\a.txt","r");
out = fopen("d:\\b.txt","w");
追問:那陣列為什麼不用加轉義字元啊?
追答:你用scanf函式的時候,當輸入\的時候,編譯器會自動認為是字元'\'
但是字串「d:\a.txt」裡面的『\』被認為是轉義字元的標誌。
這是它們的區別。
14樓:海盜船長娘娘
轉義字元 多加乙個 「\」。
15樓:
scanf輸入的分別為d:\a.txt d:\b.txt
改成d:\\a.txt 和 d:\\b.txt
16樓:匿名使用者
in = fopen("d:\a.txt","r");
out = fopen("d:\b.txt","w");*****************d盤下的檔案a.txt和b.txt,檔名不要加.txt。
php 中 fopen()開啟檔案(url)失敗是什麼原因?
17樓:匿名使用者
需要在php.ini中將相關配置開啟
fopen原型:
resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )
如果php認為filename指定的是乙個已註冊的協議,而該協議被註冊為乙個網路url,php將檢查並確認allow_url_fopen已被啟用。如果關閉了,php將發出乙個警告,而fopen的呼叫則失敗。
allow_url_fopen:本選項啟用了url形式的fopen封裝協議使得可以訪問url物件例如檔案。預設的封裝協議提供用ftp和http協議來訪問遠端檔案,一些擴充套件庫例如zlib可能會註冊更多的封裝協議。
注意:出於安全性考慮,此選項只能在php.ini中設定。
18樓:
手動驗證url位址是否存在。然後開啟php的錯誤提示資訊。看看他提示什麼原因
再者檢視下你的php.ini配置是否開啟了fopen功能。如果功能未開啟。或則被禁用的話。就不可能成功
19樓:
你可以試試file_get_contents,或者用curl
20樓:匿名使用者
fopen是開啟本地檔案的
linux中,使用fopen函式開啟檔案失敗
21樓:匿名使用者
你可以看下,在另乙個目錄的檔案你是否有訪問許可權,同乙個目錄下一般來說,你把他複製過來,這個檔案的擁有者(owner)就是你了,你是肯定可以訪問的。每個程式都有乙個當前目錄的環境變數,你在shell中執行程式時,shell程式就是你執行的程式的父程序,你的程式從shell程式中繼承了當前目錄,所以你只給定檔名時,當然開啟的就是當前目錄下的檔案了
22樓:匿名使用者
做個提示,如果你用的是虛擬主機,有可能這個函式被禁掉了
23樓:匿名使用者
這裡面有相對路徑和絕對路徑區分,
24樓:自學煩
1.路徑不正確
2.沒有訪問路徑的相應許可權(wrx)
在c語言中,使用fopen開啟檔案,操作成功和操作不成功兩種情況下函式的返回值分別是_________。
25樓:匿名使用者
這道題選【a.檔案指標,null】
如果使用fopen函式開啟檔案成功,則返回乙個有確定指向的file型別指標;
若開啟失敗,則返回null。
Coreldraw開啟大檔案失敗怎麼辦
我換過系統 也用了記憶體為1g以上的記憶體還是不行,請問是什麼原因?怎麼解決呢?答 不知你排的是書刊還是單幅的招貼海報宣傳紙,檔案體積竟會如此之大。就是檔案過大時會出現意想不到的bug,這是各個版本均存在的。建議排版時能少用 盡量少用位圖 能少用互動式效果盡量少用。另外,如果不是必須,沒必要做一比一...
C檔案開啟時候關於open 函式的問題
我就不知你來 情況拉,發源個正確的給你bai,有什麼問題就追問吧du include include include using namespace std string str1 d a.txt char buff 20 void filereadht string dex 我呼叫了這個函式zhi...
這道C語言選擇題怎麼做?求解釋,求解一道C語言選擇題解釋一下怎麼做出來的
沒有看到有語法錯誤,因為do while語句中間如果只有一句話時,可以省略那個 求解一道c語言選擇題 解釋一下怎麼做出來的 從題目可以看出第二個引數是乙個指標陣列 因為d選項不是乙個陣列 而a,b均為陣列 且可以作為指標陣列使用 c是指標 可以是陣列也可以是變數 唯獨d既不是指標也不是陣列 fun第...