當前位置:首頁 » 編程語言 » c語言文件不寫盤符
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言文件不寫盤符

發布時間: 2023-03-21 00:32:23

『壹』 c語言中怎麼確定信息所寫入文件在硬碟中的位置呢最起碼盤符應該知道吧

如果是windows盤符自然就包含在路徑中了,注意如果相對路徑,那麼文件夾所在的盤符就是打開文件的盤符。Linux一般沒有盤符一說。位置是你打開文件時執行的函數鎖定的,如果你想了解更多可以看一下使用的庫的頭文件,源碼更好,這類函數中最基本的當然就是fopen了。fopen把信息都放到了一個結構體中,其實你可以自由查看,甚至更改,不過注意有時候結果是很自由的,比如當寫的文件的位置被改成磁碟的邏輯0位置。

『貳』 C語言打開文件的路徑問題

文件路徑分為絕對路徑和相對路徑。

絕對路徑:是從盤符開始的路徑,形如

D:\Project\Data\input.txt

相對路徑:是從當前路徑開始的路徑,假如當前路徑為D:\Project
要描述上述路徑,只需輸入
Data\input.txt
實際上,嚴格的相對路徑寫法應為
.\Data\input.txt
其中,.表示當前路徑,在通常情況下可以省略,只有在特殊的情況下不能省略。
與.類似..為父目錄,也即上一層目錄。

另外,還有一種不包含盤符的特殊絕對路徑,形如
\windows\system32\cmd.exe
無論當前路徑是什麼,會自動地從當前盤的根目錄開始查找指定的程序。

『叄』 在C語言讀文件時,如何說明是當前目錄

這個如果是在c語言中是根據你讀文件那個函數里定義的,如果那裡你用絕對地址那你放那都可以,如果用相對地址就放到你c編譯器的根目錄下面,或者子目錄,但是子目錄需要在裡面指出

『肆』 C語言中定義的__FILE__使用,如何只出現該文件名,而不顯示路徑

可以用宏定義來實現去除文件名中的路徑名。

因為windows和linux下,文件名中的路徑分隔符號不同,windows中是"/",而linux中是"/",所以,採用的宏不同:

#include<string.h>//strrchr()函數所需頭文件
windows:
#definefilename(x)strrchr(x,'\')?strrchr(x,'\')+1:x
linux:
#definefilename(x)strrchr(x,'/')?strrchr(x,'/')+1:x

調用:
printf("filename:%s ",filename(__FILE__));

相關函數說明:

函數原型:char *strrchr(const char *s, int c);

函數功能:The strrchr() function returns a pointer to the last occurrence of the character 【c】 in the string 【s】.函數返回一個指向最後一次出現在字元串s中的字元c的位置指針,如果c不在s中,返回NULL。

PS:linux中提供了相應的函數:basename(s),用來獲取不帶路徑的文件名。

『伍』 C語言如何訪問沒有盤符的U盤分區

\\.\PhysicalDrive0

打開第一個物理驅動器

\\.\PhysicalDrive2

打開第三個物理驅動器

『陸』 請問啊,C語言里,fopen、fread與fwrite的參數中,要求文件名, 用寫盤符嗎 寫絕對路徑嗎

絕對路徑,相對路徑都可以,但是要注意用轉義字元來寫反斜杠,"\\"這樣子

『柒』 C語言如何判斷盤符是否可讀寫★★★

我一般用嘗試寫入的方法,比如用FILE創建一個文件啟鄭塌,如果創建失敗,並Getlasterror為硬碟不足,叢敗於是我就悄圓判斷它為不可寫入。