我在命令行中给出了一个路径,其中包含一个文件名,如:
./something.bin infomration /some/some2/thing.txt
我知道我可以将/some/some2/thing.txt
放入一个全局变量并使用它。现在,我想:
在路径/some/some2/
答案 0 :(得分:2)
对于这样的事情,你必须使用传递给你的主入口点的参数:
int main(int argc, char **argv) {
// some other code
return 0;
}
如您所见,main()
将收到两个参数:
用法非常简单,但重要的是要记住第一个“参数”是可执行文件本身。
在您的示例中,argc
将设置为3,argv
将指向以下字符串:
./something.bin
(基于操作系统,这也可能是绝对路径)infomration
[sic] /some/some2/thing.txt
如您所见,您需要做的就是以下内容:
infomration
)是否正确。请记住,用户可能会传递无效参数(例如文件名无效的字符),或者他可能会试图欺骗您做一些您不应该做的事情(比如传递保留名称)。