アプリ版:「スタンプのみでお礼する」機能のリリースについて

C言語でフォルダ内のファイル名を取得する方法ってありますか?
そういう関数とかありませんか?
教えてほしいのですが。

A 回答 (3件)

#1のサンプル


gcc ,bcc32で確認
--------------------------------------------------------------
#include <stdio.h>
#include <dirent.h>
#include <errno.h>

void main(void){
char DIRPATH[]="c:\\temp\\";
DIR *dir;
struct dirent *entry;

dir=opendir(DIRPATH);//必ず有る前提
while(NULL!=(entry=readdir(dir))){
DIR *test;
char buff[260];
sprintf(buff,"%s%s\\", DIRPATH,entry->d_name);
errno=0;
test=opendir(buff);
if(test==NULL && errno!=0){// When UNIX : errno==ENOTDIR
printf("%s\n",entry->d_name);
} else {
closedir(test);
}
}
closedir(dir);
}
    • good
    • 1

お使いのOSは何ですか?


Windows系で95以降でしたら、
・FindFirstFile
・FindNextFile
・FindClose
を使用して、指定ディレクトリ以下、サブディレクトリ内のファイル名を取得する事が可能です。

多少自分で処理を肉付けして調節する必要がありますが、それ位は関数の使用法を調べ、自分で考えれば簡単に実装出来ると思います。

windows.hをインクルードすれば使用可能になりますが、Win32API全てをインクルードしたくない場合、

宣言はwinbase.h内にあり、インポートライブラリはkernel32.libになります。
    • good
    • 0

POSIX系だったら


opendir,readdirが使えると思います
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!