2017-12-09 2 views
1

特定のタイプのファイル(.bin)をフォルダ内で見つけて、そのコンテンツをソートしてソートしたファイルの名前を再度変更する必要があります。これを行う方法に関するアイデア?これまでのところ私だけがありますcで特定のファイルタイプを見つけて保存する

system("find -03 -L /home/Desktop/Folder1 "*.bin"); 

と私は次に何をするか分かりません。助けてください !

答えて

2

できる場合はsystem()を使用しないでください。 Cでは、外部プログラムを呼び出すことなく、これらすべてのことを実行できます。

ディレクトリ内のすべてのファイルの名前を取得するには、opendir()readdir()およびclosedir()の関数を使用します。すべてのファイル名について、適切な拡張子があるかどうかを確認し、配列に追加する場合は、qsort()関数を使用して配列を並べ替えることができます。 rename()機能を使用してファイルの名前を変更できます。

これを再帰的に行う必要がある場合は、ftw()nftw()の機能を見てください。

+0

ありがとうございました!これは本当に助けになった! –

+1

外部プログラムを使いたければ、それには 'system'を使いません。 'popen'おそらく。 – melpomene

+0

真実は、ファイルを並べ替えるのではなく、その内容を並べ替えて並べ替えられたファイルを配列に保存することです。これに関するアイデア? –

関連する問題