人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

C言語で、カレントディレクトリのファイル一覧を表示する、コマンドってありますか?

●質問者: asaitaasatte
●カテゴリ:コンピュータ 学習・教育
✍キーワード:C言語 カレント コマンド ディレクトリ ファイル
○ 状態 :終了
└ 回答数 : 12/12件

▽最新の回答へ

1 ● jj0dfk
●13ポイント

http://hpcgi2.nifty.com/lightbox/vector_lightbox.cgi?mid=cmenum&...

Lightbox Info Board

こちらの内容を参考になさってはいかがでしょうか。

応用することで表示も可能かと思います。

http://homepage2.nifty.com/lightbox/enum/cmaterial/frame.htm

上の回答ページの元のページ(トップページ)は、こちらです。

◎質問者からの返答

ありがとうございます。

できればもっと簡単にできるやり方をお願いします。


2 ● ohmix1
●13ポイント

http://www.ncad.co.jp/~komata/c-kouza14.htm

?R???s???[?^?[?FC?????u???F?f?B???N?g?????e????o??

言語だけでなく、環境も書いて欲しいな。。。


で、UNIXなら標準関数で取得できます。

opendir

readdir

closedir

http://home.a03.itscom.net/tsuzu/programing/tips19.htm

#019 ディレクトリエントリの取得(Win32 API編)

Windowsにはopendir系の関数がありません。

同等の機能は、以下のAPIで実現可能です。

FindFirstFile

FindNextFile

FindClose


http://plaza.harmonix.ne.jp/~fakira/turedure/cprog_01.htm

?v???O???~???O????

またWindowsAPIではなく、VCランタイムにも同様の関数があります。

_findfirst

_findnext

_findclose


「01/04/26(木)」あたりを参照。


http://www.ne.jp/asahi/yamashita/programming/tips/CFileFind.html

フォルダ内のファイルを検索する

もし、MFCを使ってるのならクラスを使っても書けます。

◎質問者からの返答

すみませんでした。

使っているOSはLINUXで、コンパイラはgccです。


3 ● typista
●13ポイント

http://www.mispo.co.jp/document/nofile.pdf

readdir - ディレクトリ情報の読出し

struct dirent *readdir(DIR *dp);

で取得可能です。

サンプルも参照してください。

◎質問者からの返答

ありがとうございます。


4 ● aef444
●13ポイント

http://www.hatena.ne.jp/1118121349

人力検索はてな - C言語で、カレントディレクトリのファイル一覧を表示する、コマンドってありますか?

URLはダミーです。


標準ライブラリの system() 関数はいかがですか。

(system(”ls”)とか)

こういうのでいいのかなあ・・・

◎質問者からの返答

ためしてみます。


5 ● aki73ix
●13ポイント

http://pub.idisk-just.com/fview/bA2pd-I44fEt6xqeQoFWEhBUEIVpQsDR...

警告-InternetDisk

サンプルを作ってみました


#include ”stdafx.h”

#include ”windows.h”

#include ”stdio.h”


int main(int argc, char* argv[])

{

char dir[512]/*カレントディレクトリ*/,wc[512]/*ワイルドカード付文字列*/;

HANDLE hSearch; //見つかったファイルのハンドル

WIN32_FIND_DATA fd; //検索データ

::GetCurrentDirectory(512,dir); //カレントディレクトリ取得

wsprintf(wc,”%s¥¥*.*”,dir); //ワイルドカード作成

hSearch=::FindFirstFile(wc,&fd); //最初の検索で使用する関数

if(hSearch!=INVALID_HANDLE_VALUE){ //ファイルが見つかったら次の処理

do{

if(strcmp(fd.cFileName,”.”)&&strcmp(fd.cFileName,”..”)){ //カレントフォルダ、親フォルダは無視

if(fd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY ){

printf(”%s¥¥¥n”,fd.cFileName); //ファイルがディレクトリなら表示に”¥”をつける

}

else{

printf(”%s¥n”,fd.cFileName); //ファイルならそのまま表示

}

}

}

while(::FindNextFile(hSearch,&fd)); //ファイルがなくなるまで継続

}

FindClose(hSearch); //ハンドルを閉じる

return 0;

}

◎質問者からの返答

サンプルまで作っていただいて、すみません。

ありがとうございます。


1-5件表示/12件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ