パラメータを受け入れない (または無視する) ように見えますが、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]);
}
エラーは発生しませんが、出力に「usage: copy file [outfile]」と表示されるため、明らかにパラメーターが正しくキャストされていません。