簡體   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