누군가 나에게이 간단한 프로그램의 출력을 설명 할 수현재 snprintf와 sprintf를 설명
#include <stdio.h>
int main(int argc, char *argv[])
{
char charArray[1024] = "";
char charArrayAgain[1024] = "";
int number;
number = 2;
sprintf(charArray, "%d", number);
printf("charArray : %s\n", charArray);
snprintf(charArrayAgain, 1, "%d", number);
printf("charArrayAgain : %s\n", charArrayAgain);
return 0;
}
을 그리고 출력은 다음과 같습니다
./a.out
charArray : 2
charArrayAgain : // Why i don't have 2 here?
감사합니다. 현재 snprintf 문자열의 \ 0 터미네이터위한 공간을 필요로하기 때문에
'2 '대신'sizeof (charArrayAgain)'을 사용하십시오. – indiv
에 동의하지만, sizeof (charArrayAgain)는 더 좋을 것입니다. 배열보다는 포인터를 사용하기는하지만 sizeof()가 작동하지 않을 경우가 있습니다. –