No.2ベストアンサー
- 回答日時:
質問する時には、開発&実行環境と、何がわからないのか具体的に記載して下さい。
方針とは何でしょう?
C言語においての配列などの考え方が解らないのか、ディレクトリを取得する方法がわからないのでしょうか?
理論だけ簡単に記載すると…
ディレクトリとは、ファイル目次が書かれた特殊なファイルです。
目的のディレクトリファイルから、ファイル名を読み出して、メモリに格納すれば良いです。
MacやLinuxなら、opendir, readdir この辺の関数で読み出せます。
Winなら、FindFirstFileEx, FindNextFile この辺の関数で読み出せます。
配列に取り込む場合、Winの場合はショートなのかロングなのか、Mac/LinuxならUTFの扱い、など考慮して設計して下さい。
ありがとうございます。初めて耳にする関数なので参考にさせていただきます。
作業環境は
osがwindowsで、visualstudioでコンパイルしています。
特にディレクトリを取得する方法がわかっていません。
よろしくお願いします。
No.1
- 回答日時:
ありがとうございます。
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <sys/types.h>
#include <sys/stat.h>
int main( int argc, char *argv[] )
{
char *dir;
DIR *dp;
struct dirent *entry;
struct stat statbuf;
if(argc<2){
dir = getenv("PWD");
}else{
dir = argv[1];
}
if(( dp = opendir(dir) ) == NULL ){
perror("opendir");
exit( EXIT_FAILURE );
}
while((entry = readdir(dp)) != NULL){
stat(entry->d_name, &statbuf);
if(S_ISDIR(statbuf.st_mode)){
fprintf(stdout, "%s/\n", entry->d_name);
}else{
fprintf(stdout, "%s\n", entry->d_name);
}
}
closedir(dp);
return(0);
}
参考サイトを参考にこちらのプログラムを見つけ、コンパイルしました。しかし、dirent.hがincludeできませんでした。問題は何かあるのでしょうか?
作業環境は
osがwindowsで、visualstudioでコンパイルしています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
- その他(ソフトウェア) ダウンロードしたファイルの「種類」が「Windowsmediaplayer」に変わってしまい、開くこ 2 2023/07/03 21:45
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- フリーソフト イーファンビューでwebpファイルが開けません 1 2022/07/12 07:07
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- その他(プログラミング・Web制作) 【python】Excelファイルを読み込む際の日付の表示形式を任意にする 2 2022/11/24 14:21
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- その他(IT・Webサービス) ●動画編集ソフトについて教えてください Adobe Premiereにお詳しい方、ご教示くださいまし 1 2023/04/06 10:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列を使わずに、変数名を動的...
-
2次元配列を戻り値とする関数?
-
先頭アドレスとは何ですか?
-
C言語 配列の長さの上限
-
ExcelVBAで質問です。離れた二...
-
C# 配列の変数宣言について。
-
C# Listを使わずに2次元配列の...
-
unsigned char配列への入力の仕方
-
配列で格納したものをmsgboxで...
-
構造体配列を引数とするDLL作成...
-
Excel、VBAのユーザーフォーム...
-
Redimした動的配列はEraseする...
-
C言語初心者 ポインタについて...
-
VBで構造体の配列を関数に渡す...
-
テキストファイルから文字列を...
-
C言語 配列の再初期化
-
C言語でcharの足し算
-
配列の参照渡しで型が一致しま...
-
なぜ配列は0から始まるのです...
-
VB.NET 構造体の配列の検索機能...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列の長さの上限
-
配列を使わずに、変数名を動的...
-
配列で格納したものをmsgboxで...
-
配列の参照渡しで型が一致しま...
-
C# Listを使わずに2次元配列の...
-
VBで構造体の配列を関数に渡す...
-
複数の選択範囲の行番号を個別...
-
パイソンの
-
先頭アドレスとは何ですか?
-
【速いブラインドタッチ】手を...
-
C# 配列の変数宣言について。
-
C言語初心者 ポインタについて...
-
unsigned char配列への入力の仕方
-
テキストファイルから文字列を...
-
ExcelVBAで質問です。離れた二...
-
Redimした動的配列はEraseする...
-
C言語で特定列だけを抽出して配...
-
擬似コード 長さがmの配列でな...
-
メモリの初期値
-
C言語初心者 構造体 課題について
おすすめ情報