优艾设计网

macos 下使用c的string.h 中的strcat报错。?

优艾设计网 https://www.uibq.com 2023-04-16 18:42 出处:网络 作者:电脑技术
在 Macos下使用string.h中的 strcat 结果实际调用的是 _string.h 中的strcat声明。 #include <string.h> #include <std优艾设计网_设计圈io.h>void strings() { char str[] = \"abcd\"; char str1[] = \

在 Macos下使用string.h中的 strcat 结果实际调用的是 _string.h 中的strcat声明。

#include <string.h> #include <std优艾设计网_设计圈io.h>void strings() { char str[] = "abcd"; char str1[] = "efg"; strcat(str, str1); printf("拼接后的 str 值为:%s", str); }

在Macos 下这段代码不报错什么也不打印,使用 ide 点击 strcat 定位到:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/secure/_string.h,头文件中的 strcat 声明中。在 _string.h 中声明如下

#if __has_builtin(__builtin___strcat_chk) || defined(__GNUC__) #undef strcat #define strcat(dest, src) __builtin___strcat_chk (dest, src, __darwin_obsz (dest)) #endif


海盗2副 优艾设计网_Photoshop论坛 2022-06-13 12:44

str分配的内存空间不足呀,你试试大点的,就可以了。


0

精彩评论

暂无评论...
验证码 换一张
取 消