strcpy causing EXC_BAD_ACCESS?



我正在使用Xcode 4制作一个命令行工具。

我在带有strcpy:的行上得到EXC_BAD_ACCESS错误

char *invalidOption = NULL;
strcpy(invalidOption, argv[2]);

argv[1]是-v("有效"选项),argv[2]是-z("无效"选项)。

然后,出于显示原因,我需要更改"invalidOption"(打印"错误"消息)。

有什么关于为什么会发生这种情况的想法吗?如果你需要更多的细节,请告诉我。

strcpy不会为您分配任何内存。您正试图将字符串复制到NULL,这会导致未定义的行为。你需要这样的东西:

char invalidOption[10];
strcpy(invalidOption, argv[2]);

只要确保invalidOption足够大,可以容纳整个字符串(包括null终止符),否则就会出现同样的问题。如有必要,您可以使用动态分配。

相关内容

  • 没有找到相关文章

最新更新