如何获取参数[0]

How do i get the argv[0]?

本文关键字:参数 获取 何获取      更新时间:2023-10-16

在C++中,我通过说:

 std::string dir = dirname(argv[0]);

没有任何问题,但是当我计划使用可可时,它说:

错误:"argv"未在此范围内声明,现在我迷路了,我已经尝试过:

NSArray *args = [[NSProcessInfo processInfo] arguments];
std::string dir = dirname(args);

但是没有任何运气,请帮助我伙计们!

PS:我已经将文件从.m更改为.mm,以防您想知道

以下是获取应用路径的方法:

[[NSBundle mainBundle] bundlePath];

而不是说

std::string dir = dirname(args);

请尝试以下操作:

NSArray *args = [[NSProcessInfo processInfo] arguments];
NSString* arg0 = args[0];
std::string dir = dirname([arg0 fileSystemRepresentation]);

希望有帮助