-1
소스 문자열과 연결하기 위해 다른 문자열을 선언하지 않고 문자열을 확장하는 방법은 무엇입니까? `어떻게해야,병합하지 않고 확장 문자열
// Figuratively clarification:
char *string = malloc(16);
strcpy(string, "Stack/Overflow");
&string[5] = expand(5);
// Result (In-memory):
Idx: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Chr: S t a c k \0 \0 \0 \0 \0 / O v e r f l o w \0
이'및 문자열 [5] = (5) 확장 무엇인가? –
코드에 [* undefined behavior *] (http://en.wikipedia.org/wiki/Undefined_behavior)가 있고 16 바이트 만 할당 된 메모리 영역에 17 바이트를 씁니다. ' '\ 0' '을 잊지 마라! –
문제에 관해서는 ['realloc'] (http://en.cppreference.com/w/c/memory/realloc), ['memcpy'] (http : // en .cppreference.com/w/c/string/byte/memcpy) 및 ['memset'] (http://en.cppreference.com/w/c/string/byte/memset)에서 볼 수 있습니다. –