『壹』 c語言readdir和opendir
readdir和opendir都是目錄流操作,挨個讀取或者打開目中的文件知道不為空或者如果為空,也就是第一個沒讀完就繼續循環,第二個如果打開完了就執行if條件句里邊的
『貳』 c語言讀取文件的路徑怎麼設定
"student.dat",或者直接設定它的路徑,比如在C盤WINDOWS下就是:"C:\\WINDOWS\\student.dat"注意要多加\,也就是說是\\
『叄』 怎樣使用C語言列出某個目錄下的文件
C語言本身沒有提供象dir_list()這樣的函數來列出某個目錄下所有的文件。不過,利用C語言的幾個目錄函數,你可以自己編寫一個dir_list()函數。 首先,頭文件dos.h定義了一個find_t結構,它可以描述DOS下的文件信息,包括文件名、時間、日期、大小和屬性。其次,C編譯程序庫中有_dos_findfirst()和_dos_findnext()這樣兩個函數,利用它們可以找到某個目錄下符合查找要求的第一個或下一個文件。 dos_findfirst()函數有三個參數,第一個參數指明要查找的文件名,例如你可以用「*.*」指明要查找某個目錄下的所有文件。第二個參數指明要查找的文件屬性,例如你可以指明只查找隱含文件或子目錄。第三個參數是指向一個find_t變數的指針,查找到的文件的有關信息將存放到該變數中。 dos_findnext()函數在相應的目錄中繼續查找由_dos_findfirst()函數的第一個參數指明的文件。_dos_findnext()函數只有一個參數,它同樣是指向一個find_t變數的指針,查找到剛文件的有關信息同樣將存放到該變數中。 利用上述兩個函數和find_t結構,你就可以遍歷磁碟上的某個目錄,並列出該目錄下所有的文件,請看下例: #include <stdio.h> #include <direct.h> #include <dos.h> #include <malloc.h> #include <memory.h> #include <string.h> typedef struct find_t FILE_BLOCK void main(void); void main(void){FILE_BLOCK f-block; /* Define the find_t structure variable * / int ret_code; / * Define a variable to store the return codes * / / * Use the "*.*" file mask and the 0xFF attribute mask to list all files in the directory, including system files, hidden files, and subdirectory names. * / ret_code = _dos_findfirst(" *. * ", 0xFF, &f_block); /* The _dos_findfirst() function returns a 0 when it is successful and has found a valid filename in the directory. * / while (ret_code == 0){/* Print the file's name * / printf(" %-12s\n, f_block, name); / * Use the -dos_findnext() function to look
『肆』 c語言 讀取目錄中的文件名,並將其存入數組中
在linux編譯器下,可採用目錄操作函數,讀取當前目錄下的文件
#include<sys/types.h>
#include<dirent.h>//windows開發工具沒有這個頭文件
#include<unistd.h>
#include<string.h>
main()
{
DIR*dir;
structdirent*ptr;
charfile_list[100][40];
inti=0;
dir=opendir("/etc/rc.d");//打開一個目錄
while((ptr=readdir(dir))!=NULL)//循環讀取目錄數據
{
printf("d_name:%s ",ptr->d_name);//輸出文件名
strcpy(file_list[i],ptr->d_name);//存儲到數組
if(++i>=100)break;
}
closedir(dir);//關閉目錄指針
}
在windows下,如VC也有類似的操作函數,如:
#include<string>
#include<iostream>
usingnamespacestd;
#include<WINDOWS.H>
voidmain()
{
stringszPath="d:/*.*";
WIN32_FIND_DATAwfd;
HANDLEhFind;
charfile_list[100][40];
inti=0;
hFind=FindFirstFile(szPath.c_str(),&wfd);
do
{
cout<<wfd.cFileName<<endl;
strcpy(file_list[i],wfd.cFileName);//存儲到數組
if(++i>=100)break;
}while(FindNextFile(hFind,&wfd));
FindClose(hFind);
}
『伍』 windows下用c語言怎麼寫拷貝文件夾和該文件夾下的所有文件,不用system和,我是新手,麻煩您詳細一點
用opendir函數打開目錄,readdir函數讀取目錄中的一個文件或文件夾,判斷讀出如果是文件則打開文件,將內容復制到目標文件,如果是目錄,則遞歸調用這個函數,直接處理完所有目錄項
『陸』 c語言opendir打開文件夾,完整程序
#include<stdio.h>
#include <sys/types.h>
#include <dirent.h>
int main()
{
DIR *dfd;
dfd = opendir("文件夾名稱");
closedir(dfd);
//想讀取文件夾,用readdir
return 0;
}
『柒』 c語言怎麼打開一個文件夾,求完整程序
如果是源文件的話,單擊右鍵,找到並打開「屬性」,屬性的「常規」裡面有打開方式,你單擊「打開方式」後面的「更改」,然後再「推薦程序"與"其他程序里"找,如果沒有,那麼點擊下面的「瀏覽」,這一步是要找到你安裝turbo C&C++的目錄下你turbo c&C++這個應用程序的圖標,這圖標一般跟你安裝後出現在桌面的圖標相似。(如果你是默認安裝的,那麼你一般可以去c盤,program files文件夾,然後可能會看到名字含有turbo 單詞的文件夾,在裡面也許你可以直接看到那個應用程序圖標,也許不能,不能的話,那就在裡面有個bin文件夾的,bin就是二進制的意思,bin文件夾里一般含有這個應用程序的圖標。你選中後摁下面的「打開」就行了。
你是初中生嗎,怎麼還用turbo c呢,是用的譚浩強的教材吧,他的教材其實裡面有些源程序錯誤挺多的。
『捌』 怎樣用C語言打開文件夾(源代碼)
用文件路徑操作函數找到源代碼所在的文件夾。使用文件操作函數fopen打開源文件即可。
路徑操作函數 chdir。
chdir函數是C語言中的一個系統調用函數(同cd)
功 能:更改當前工作目錄。
參 數:Path 必選。Path 可能包含驅動器。如果未指定驅動器,則當前驅動器上的默認目錄或文件夾。
返回值:成功返回0 ,失敗返回-1文件操作函數fopen。
函數原型:FILE * fopen(const char * path,const char * mode);
返回值:文件順利打開後,指向該流的文件指針就會被返回。如果文件打開失敗則返回NULL,並把錯誤代碼存在errno中。
一般而言,打開文件後會做一些文件讀取或寫入的動作,若打開文件失敗,接下來的讀寫動作也無法順利進行,所以一般在fopen()後作錯誤判斷及處理。
『玖』 Linux下C語言編程用的readdir()實例
第一:linux下不成認無返回值的main方法
第二:你這個若成功,也只能夠讀取/etc/rc.d目錄下的內容
#include<sys/types.h>
#include <stdio.h>
#include<dirent.h>
#include<unistd.h>
int main(int argc,char **argv)
{
DIR * dir;
struct dirent * ptr;
int i;
if(argc==1)
dir=opendir("./");
else
dir=opendir(argv[1]);
while((ptr=readdir(dir))!=NULL)
{
printf("d_name: %s\n",ptr->d_name);//需要更詳細的信息你可以修改該句
}
closedir(dir);
return 0;
}