好吧,我已經看到了一些使用memcpy的strcat函數的實現。我明白這是有效的,因爲不需要分配。但是,你如何保留用結果字符串覆蓋源字符串的內容。關於strcat與memcpy的混淆
例如讓take-:
char *str1 = "Hello";
char *str2 = "World";
str1 = strcat(str1, str2);
如何確保str2
不與最終的「HelloWorld」字符串的內容覆蓋?
此外,如果字符串是什麼,但字符數組,和陣列假設有一個固定的大小,然後不的存儲器再分配如果我複製的字節成比陣列較大陣列,然後是不是不安全?
假設你明白'strcat'是如何工作的(*它從不* * *)*因爲重疊而只調用UB的例子可能更多地指向我認爲*分配內存)。 – WhozCraig
你知道指針是什麼嗎?你知道一個String Literar是什麼嗎? – Michi
我們只是有一個問題,有關實施'的strcat()'的[代碼審查(http://codereview.stackexchange.com/questions/149812/strcat-implementation)。 OP使用了'malloc()',所以有一些與標準庫方法的討論。 –