1

私の目標は、現在の作業ディレクトリ内のすべてのファイルの名前を変更して、スペース、特殊文字、またはアクセント付き文字が含まれないようにするプログラムを構築することです (たとえば、É は E になります)。を使用する予定ですint rename(const char *oldname, const char *newname);。私の問題は、現在の作業ディレクトリにあるファイルを取得するにはどうすればよいですか? 私が作成している実行可能ファイルを、不適切な名前のファイルを含むフォルダーに入れて実行し、すべてのファイルの名前を変更したいと考えています。

プラットフォームに依存しないソリューションが望ましいでしょう。それ以外の場合は、Windows 7 Enterprise 32 ビットを使用しています。

opendir ("c:\\src\\");プログラムが実行されているディレクトリのパスがわからないため、この質問は重複していません。

4

2 に答える 2

1

これを行うサンプルコードは次のとおりです。

http://bytes.com/topic/c/answers/869208-list-files-directory

FindFirstFile基本的に、次の APIを利用します。FindNextFile

クロスプラットフォーム ソリューションについてはfindfirst()、 およびを参照してください。findnext()

于 2012-08-15T00:09:27.163 に答える
0

オプションは、 opendir(".") を使用することです。これにより、現在のディレクトリが開きます。

于 2015-05-15T20:03:54.323 に答える