내 프로그램입니다 : - :strcat가 C에서 빈 문자열로 작동하지 않는 이유는 무엇입니까?
The String is=> World!!
왜 처음 strcat와 작동하지 않습니다 있지만에서 제대로 작동하고 - 내가 GCC 버전 4.8.3로 컴파일하고 다음과 같은 출력을 가지고
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
char arrcTest[256] = {0};
strcat(arrcTest,"Hello");
sprintf(arrcTest,"%s","World");
strcat(arrcTest,"!!");
printf("The String is=> %s\n",arrcTest);
return 0;
}
두 번째로?
왜냐하면'sprintf (arrcTest, "% s", "World")가'arrcTest'을 덮어 쓰기 때문입니다. – haccks
당신은'sprintf (arrcTest, "% s", "World");에 의해'Hello'를 덮어 씁니다. – HuStmpHrrr
당신은 sprintf를 사용하지 마십시오. snprintf, sprintf_s 또는 이와 동등한 것을 사용하여 실수로 버퍼 오버런을 방지하십시오. – skimon