使用C中的空格处理文件名

时间:2012-09-26 07:47:17

标签: c filenames

我正在开发一个简单的CLI程序,允许2个或更多用户(在同一个局域网或互联网上)共享他们的文件。

工作原理:

  1. 打开终端
  2. 运行程序
  3. 拖放一个或多个文件
  4. 我的问题是:如何让程序读取名称中包含空格的文件?

    因为如果用户拖动一个文件没有问题(strtok直到\n),但如果用户拖入多个文件,我有一个问题,因为我不能如果文件名有空格,请使用strtok(input, ' ');

    示例:

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

    我该怎么办?

2 个答案:

答案 0 :(得分:0)

如果文件名有空格,那么它应该在每个空格之前有一个\来逃避它们,否则它们将是多个文件。

答案 1 :(得分:0)

您无法将文件拖放到终端中,因为它“按原样”显示路径,因此您需要在将路径字符串加载到程序后修改它们,或者只需创建一个小接口(使用gtk)例如)它会更容易。