繁体   English   中英

Xcode中的Strcpy

[英]Strcpy in xcode

这是我的代码

char strings[10][10] = {"aaa", "bbb", "ccc"};
strcpy(strings[0], strings[0]);

我在Xcode中创建一个C项目,然后运行它将崩溃。 但是,如果这是一个Objective-C项目,那就没问题了

当源和目标重叠(或与您的情况相同)时调用strcpy在C,C ++,Objective-C和Objective-C ++中是未定义的行为。 未定义的行为表示“可能发生任何事情”。 “任何”都包括使一个编译器崩溃而没有使另一编译器崩溃。 它还包括更糟糕的事情。

如果是C项目,则将strcpy替换为#if __has_builtin(__builtin___strcpy_chk) || defined(__GNUC__) #if __has_builtin(__builtin___strcpy_chk) || defined(__GNUC__) #undef strcpy #if __has_builtin(__builtin___strcpy_chk) || defined(__GNUC__) #define strcpy(dest, src) \\ __builtin___strcpy_chk (dest, src, __darwin_obsz (dest)) #endif

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM