如何创建给定相对路径的文件

时间:2014-04-02 11:40:06

标签: c++ file

我在命令行中给出了一个路径,其中包含一个文件名,如:

./something.bin infomration /some/some2/thing.txt

我知道我可以将/some/some2/thing.txt放入一个全局变量并使用它。现在,我想:

在路径/some/some2/

中创建名为thing.txt的文件

1 个答案:

答案 0 :(得分:2)

对于这样的事情,你必须使用传递给你的主入口点的参数:

int main(int argc, char **argv) {
    // some other code
    return 0;
}

如您所见,main()将收到两个参数:

  • argc:第一个参数将包含通过第二个参数传递的参数数量。
  • argv:第二个参数指向指向具有实际参数的字符串的指针。

用法非常简单,但重要的是要记住第一个“参数”是可执行文件本身。

在您的示例中,argc将设置为3,argv将指向以下字符串:

  • argv [0]: ./something.bin(基于操作系统,这也可能是绝对路径)
  • argv [1]: infomration [sic]
  • argv [2]: /some/some2/thing.txt

如您所见,您需要做的就是以下内容:

  • 验证参数数量是否正确。
  • 验证第二个参数(infomration)是否正确。
  • 使用第三个参数接收实际文件名。

请记住,用户可能会传递无效参数(例如文件名无效的字符),或者他可能会试图欺骗您做一些您不应该做的事情(比如传递保留名称)。