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?

Спасибо.

11
задан funnyCoder 21 September 2011 в 19:27
поделиться