LINUX.ORG.RU

История изменений

Исправление neon1ks, (текущая версия) :

Не читал комментарии, но твой код

char *http_length ="";
sprintf(http_length,"test %i\r\n", strlen("test\n"));
printf(http_length);

это кошмар. Здесь надо самому выделять память и потом ее освобождать. Да и не безопасно используешь функцию printf.

Как вариант (конечно, не самый идеальный)

char *http_length = malloc(256);
http_length[0] = '/0'; // на всякий случай)
sprintf(http_length,"test %i\r\n", strlen("test\n"));
printf("%s", http_length);
free(http_length);

Если лень самому выделять память, можно использовать GString из библиотеки glib.

Исходная версия neon1ks, :

Не читал комментарии, но твой код

char *http_length ="";
sprintf(http_length,"test %i\r\n", strlen("test\n"));
printf(http_length);

это кошмар. Здесь надо самому выделять память и потом ее освобождать.

Как вариант (конечно, не самый идеальный)

char *http_length = malloc(256);
http_length[0] = '/0'; // на всякий случай)
sprintf(http_length,"test %i\r\n", strlen("test\n"));
printf("%s", http_length);
free(http_length);

Если лень самому выделять память, можно использовать GString из библиотеки glib.