本文目錄一覽:
- 1、C語言chdir函數用法
- 2、C語言函數的目錄函數
- 3、電腦中CHDIR什麼意思?
- 4、如何用c語言打開多個文件或文件夾
- 5、C語言中什麼函數可以設置程序的當前工作路徑解決辦法
- 6、如何用c語言如何打開一個文件夾
C語言chdir函數用法
char
s1[]=”abcdef”,s2=”bcdf”;
應改為:char
s1[]=”abcdef”,s2[]=”bcdf”;
上次就說了,for語句下面只能包括一條語句(if表達式,while,for,do
while等)如果要包括多個要用{}括起來
for(i=0;s2[i];i++)
s1[i]=s2[i];
功能是將s2的字元依次複製到s1中,也就是取代s1所有的值,
因為字元串是以’\0’結束的,(也可以用0表示字元串結束符)
所以s1[i]=0;就表示s1[i]=’\0′;代表字元串已複製完畢,結束了
C語言函數的目錄函數
所在函數庫為dir.h、dos.h
int chdir(char *path) 使指定的目錄path(如:C:\\WPS)變成當前的工作目錄,成
功返回0
int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成功
返回0
pathname為指定的目錄名和文件名,如C:\\WPS\\TXT
ffblk為指定的保存文件信息的一個結構,定義如下: struct ffblk { char ff_reserved[21]; /*DOS保留字*/ char ff_attrib; /*文件屬性*/ int ff_ftime; /*文件時間*/ int ff_fdate; /*文件日期*/ long ff_fsize; /*文件長度*/ char ff_name[13]; /*文件名*/ } attrib為文件屬性,由以下字元代表
┃FA_RDONLY 只讀文件┃FA_LABEL 卷標號┃
┃FA_HIDDEN 隱藏文件┃FA_DIREC 目錄 ┃
┃FA_SYSTEM 系統文件┃FA_ARCH 檔案 ┃
例:
struct ffblk ff;
findfirst(*.wps,ff,FA_RDONLY);
int findnext(struct ffblk *ffblk) 取匹配finddirst的文件,成功返回0
void fumerge(char *path,char *drive,char *dir,char *name,char *ext)
此函數通過盤符drive(C:、A:等),路徑dir(\TC、\BC\LIB等),
文件名name(TC、WPS等),擴展名ext(.EXE、.COM等)組成一個文件名
存與path中.
int fnsplit(char *path,char *drive,char *dir,char *name,char *ext)
此函數將文件名path分解成盤符drive(C:、A:等),路徑dir(\TC、\BC\LIB等),
文件名name(TC、WPS等),擴展名ext(.EXE、.COM等),並分別存入相應的變數中.
int getcurdir(int drive,char *direc) 此函數返回指定驅動器的當前工作目錄名稱
drive 指定的驅動器(0=當前,1=A,2=B,3=C等)
direc 保存指定驅動器當前工作路徑的變數 成功返回0
char *getcwd(char *buf,iint n) 此函數取當前工作目錄並存入buf中,直到n個字
節長為為止.錯誤返回NULL
int getdisk() 取當前正在使用的驅動器,返回一個整數(0=A,1=B,2=C等)
int setdisk(int drive) 設置要使用的驅動器drive(0=A,1=B,2=C等),
返回可使用驅動器總數
int mkdir(char *pathname) 建立一個新的目錄pathname,成功返回0
int rmdir(char *pathname) 刪除一個目錄pathname,成功返回0
char *mktemp(char *template) 構造一個當前目錄上沒有的文件名並存於template中
char *searchpath(char *pathname) 利用MSDOS找出文件filename所在路徑,
,此函數使用DOS的PATH變數,未找到文件返回NULL
電腦中CHDIR什麼意思?
cmd是command的縮寫.命令行
在9x系統下輸入command就可以打開命令行.而在NT系統上可以輸入cmd來打開.
在命令行里你可以看到你的系統版本,文件系統版本等等
你可以敲入help查看幫助
Cmd啟動命令解釋器 Cmd.exe 的新實例。如果在不含參數的情況下使用,則 cmd 顯示 Windows XP 的版本和版權信息。
語法
cmd [[{/c|/k}] [/s] [/q] [/d] [{/a|/u}] [/t:fg] [/e:{on|off}] [/f:{on|off}] [/v:{on|off}] string]
參數
/c
執行 string 指定的命令,然後停止。
/k
執行 string 指定的命令並繼續。
/s
修改位於 /c 或 /k 之後的 string 處理。
/q
關閉回顯。
/d
禁用自動運行命令執行。
/a
創建美國國家標準協會 (ANSI) 輸出。
/u
創建 Unicode 輸出。
/t:fg
設置前景 f 和背景 g 的顏色。下表列出了可用作 f 和 g 的值的有效十六進位數字。 值 顏色
0 黑色
1 藍色
2 綠
3 湖藍色
4 紅
5 紫色
6 黃
7 白色
8 灰色
9 淺藍色
A 淺綠色
B 淺水綠
C 淺紅色
D 淺紫色
E 淺黃色
F 亮白色
/e:on
啟用命令擴展。
/e:off
禁用命令擴展。
/f:on
啟用文件和目錄名完成。
/f:off
禁用文件和目錄名完成。
/v:on
啟用延遲的環境變數擴展。
/v:off
禁用延遲的環境變數擴展。
string
指定要執行的命令。
/?
在命令提示符顯示幫助。
注釋
使用多個命令
可以在 string 中使用由 分隔的多個命令,不過這些命令必須置於引號之中(例如,”commandcommandcommand”)。
處理引號
如果指定了 /c 或 /k,則在滿足下述所有條件的情況下,cmd 會處理 string 中的其餘命令而將引號保留:
未使用 /s。
正確使用一對引號。
在引號內未使用任何特殊字元(例如: ( ) @ ^ |}。
在引號內使用了一個或多個空格子符。
引號內的 string 為可執行文件的名稱。
如果上述條件不能滿足,則處理 string 時將首先檢查它的第一個字元以驗證其是否為左引號。如果第一個字元是左引號,則它會與右引號分離開。跟在右引號之後的任何文本都會得到保留。
執行註冊表子項
如果在 string 中未指定 /d,Cmd.exe 會查找下述註冊表子項:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun REG_EXPAND_SZ
如果上述的一個註冊表子項或兩個都存在,則會在執行其他變數之前執行它們。
警告
編輯註冊表不當可能會嚴重損壞您的系統。在更改註冊表之前,應備份計算機上任何有價值的數據。
啟用和禁用命令擴展
在 Windows XP 中,命令擴展在默認情況下是啟用的。對於特定過程可以使用 /e:off 將它們禁用。通過設置下述 REG_DWORD 值,可以在計算機上或用戶會話中啟用或禁用所有 cmd 命令行選項的擴展:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
在註冊表中使用 Regedit.exe 可以將 REG_DWORD 值設為 0×1(即啟用)或 0×0(即禁用)。用戶特定設置優先於計算機設置,並且命令行選項優先於註冊表設置。
警告
編輯註冊表不當可能會嚴重損壞您的系統。在更改註冊表之前,應備份計算機上任何有價值的數據。
啟用命令擴展後,會影響到下述命令:
assoc
call
chdir (cd)
color
del (erase)
endlocal
for
ftype
goto
if
mkdir (md)
popd
prompt
pushd
set
setlocal
shift
start(還包括將更改外部命令過程)
有關這些命令的詳細信息,請參閱「相關主題」。
啟用延遲的環境變數擴展
啟用延遲的環境變數擴展,可以使用感嘆號字元來替代運行時的環境變數值。
啟用文件和目錄名完成
默認情況下,禁用文件和目錄名完成。對於特定的 cmd 命令處理,可以通過 /f:{on|off} 來啟用或禁用該功能。通過設置下述 REG_DWORD 值,可以在計算機上或用戶會話中啟用或禁用所有 cmd 命令處理的文件和目錄名完成:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
要設置 REG_DWORD 值,請運行 Regedit.exe 並使用特定功能的控制字元的十六進位值(例如,用 0×9 表示 TAB 鍵,用 0×08 表示 BACKSPACE 鍵)。用戶特定設置優先於計算機設置,並且命令行選項優先於註冊表設置。
警告
編輯註冊表不當可能會嚴重損壞您的系統。在更改註冊表之前,應備份計算機上任何有價值的數據。
如果使用 /f:on 啟用了文件和目錄名完成,則對於目錄名完成,可使用 CTRL+D 組合鍵;而對於文件名完成,可使用 CTRL+F 組合鍵。要禁用註冊表中特定字元的完成,請使用空格值 [0×20],因為空格不是有效的控制字元。
按 CTRL+D 或 CTRL+F 組合鍵時,cmd 會處理文件和目錄名的完成操作。這些組合鍵的作用是在 string 後附加通配符(如果還未使用),並創建匹配的路徑列表,然後顯示第一個匹配的路徑。如果所有路徑都不匹配,文件和目錄名完成操作會發出警告聲,並且不更改所顯示的內容。要逐個查看匹配路徑列表中的路徑,請重複按 CTRL+D 或 CTRL+F 組合鍵。要向後查看該列表,請在按 SHIFT 的同時按 CTRL+D 或 CTRL+F 組合鍵。要放棄已保存的匹配路徑列表並生成新列表,可以編輯 string,然後按 CTRL+D 或 CTRL+F 組合鍵。如果在 CTRL+D 和 CTRL+F 組合鍵之間切換,將會放棄已保存的匹配路徑列表並生成新列表。CTRL+D 組合鍵與 CTRL+F 組合鍵之間唯一的不同在於,CTRL+D 僅匹配目錄名,而 CTRL+F 既匹配文件名,又匹配目錄名。如果在任何內部目錄命令(CD、MD 或 RD)中使用文件和目錄名的完成,將僅使用目錄的完成。
如果將匹配路徑置於引號之中,則文件和目錄名完成會正確地處理含有空格或特殊字元的文件名。
下述特殊字元需要有引號: [ ] { } ^ = ; ! ‘ + , ` ~ [white space]
如果您提供的信息包含空格,請將文本置於引號之中(例如,”Computer Name”)。
如果從 string 中處理文件和目錄名完成操作,則位於游標右側的 [Path] 的任意部分都將放棄(即在 string 中處理完成操作的位置)。
格式化圖例
格式 含義
斜體 用戶必須提供的信息
粗體 用戶必須像顯示的一樣準確鍵入的元素
省略號 (…) 可在命令行中重複多次的參數
在括弧 ([]) 之間 可選項目
在大括弧 ({}) 之間;將選項用豎線 (|) 隔開。例如:{even|odd} 用戶必須從中只選擇一個選項的選項組
Courier 字體 代碼或程序輸出
如何用c語言打開多個文件或文件夾
在C語言中,對文件夾的操作,專業的說法稱為”切換路徑/目錄”,而不是”打開”,因為文件夾,並不是一個”真正的文件”,而只是一個訪問文件的目錄.
用C語言中的函數chdir,也就是change
directory
int
chdir(char
*path)
—
使指定的目錄path變成當前的工作目錄,之後所有的文件操作都是該目錄下.
比如,想切換到f盤test目錄下可以這樣:
chdir(“f:\\test
“);
返回0表示切換成功,否則,表示失敗.
C語言中什麼函數可以設置程序的當前工作路徑解決辦法
chdir函數
int chdir(char *path);
功 能:更改當前工作目錄。
參 數:Path 目標目錄,可以是絕對目錄或相對目錄。
返回值:成功返回0 ,失敗返回-1
VC下是_chdir 前面加一個下劃線
TC和gcc下就是chdir
如何用c語言如何打開一個文件夾
用文件路徑操作函數找到源代碼所在的文件夾。使用文件操作函數fopen打開源文件即可。
路徑操作函數 chdir。
chdir函數是C語言中的一個系統調用函數(同cd)功 能:更改當前工作目錄。參 數:Path 必選。Path 可能包含驅動器。如果未指定驅動器,則當前驅動器上的默認目錄或文件夾。返回值:成功返回0 ,失敗返回-1
文件操作函數fopen。
函數原型:FILE * fopen(const char * path,const char * mode);返回值:文件順利打開後,指向該流的文件指針就會被返回。如果文件打開失敗則返回NULL,並把錯誤代碼存在errno中。一般而言,打開文件後會做一些文件讀取或寫入的動作,若打開文件失敗,接下來的讀寫動作也無法順利進行,所以一般在fopen()後作錯誤判斷及處理。
原創文章,作者:GFGE,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/142798.html