1

2 人以上のユーザー (同じ LAN またはインターネット経由) がファイルを共有できるようにする単純な CLI プログラムを開発しています。

使い方:

  1. ターミナルを開く
  2. プログラムを実行する
  3. 1 つまたは複数のファイルをドラッグ アンド ドロップする

私の問題は、名前にスペースを含むファイルをプログラムに読み込ませるにはどうすればよいですか?

ユーザーが1つのファイルをドラッグしても問題はありませんが(strtokまで\n)、ユーザーが複数のファイルを端末にドラッグすると、ファイル名にスペースが含まれていると使用できないため、大きな問題が発生します。strtok(input, ' ');

例:

Files to share: /home/$USER/tryme /home/$USER/try me with space /home/$USER/file_ok

私に何ができる?

4

2 に答える 2

0

ファイル名にスペースが含まれている場合は\、それらをエスケープするためにすべてのスペースの前にスペースを含める必要があります。そうでない場合は、複数のファイルになると予想されます。

于 2012-09-26T07:49:26.517 に答える
0

ファイルをターミナルにドラッグ アンド ドロップすることはできません。これはパスが「そのまま」であるため、プログラムにロードされた後にパス文字列を変更する必要があるためです。または、小さなインターフェイスを作成するだけです (たとえば、gtk を使用)。そしてそれはより簡単になります。

于 2012-09-26T07:54:48.730 に答える