我正在尝试将 NSString 传递给 C 函数,尽管它似乎不接受(或忽略)参数。任何帮助将不胜感激 - 谢谢。
int copyfiles(int argc, const char **argv)
{
if(argc < 2 || argc > 3)
{
puts("usage: copy file [outfile]");
return 1;
}
const char *infile = argv[1];
char *outfile;
if(argc > 2)
{
outfile = strdup(argv[2]);
expect(outfile, "allocate");
}
...
}
@implementation MyApplication
@synthesize window;
- (void)copy:(NSString *)pathToFile
{
NSString *pathToFile = @"/path/to/file";
copyfiles((int)(const char *)[pathToFile UTF8String],(const char **)[pathToFile UTF8String]);
}
我没有收到任何错误,但输出给了我“用法:复制文件 [outfile]”,所以我显然没有正确转换参数。