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



>我在命令行中给出了一个路径,其中有一个文件名,如下所示:

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

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

在路径/some/some2/中创建一个名为 thing.txt

的文件

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

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

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

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

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

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

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

如您所见,您所要做的就是:

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

请记住,用户可能会传递无效参数(例如文件名的无效字符),或者他可能会试图诱骗您执行不应执行的操作(例如传递保留名称)。

相关内容

  • 没有找到相关文章

最新更新