Я пытаюсь преобразовать unsigned long
в строку символов, добавляя запятую в конце it. При компиляции и запуске тестового кода, который вы можете найти ниже, я получаю следующий вывод:
"1234," "1234"
"1234"
Тестовый код:
#include <cstdio>
#include <iostream>
int main () {
unsigned long c = 1234;
char ch[50];
char ch1[50];
sprintf(ch, "%lu,", c);
std::cout << "\"" << ch << "\"" << " \"" << c << "\"" << std::endl;
snprintf(ch1, 5, "%s", ch);
std::cout << "\"" << ch1 << "\"" << std::endl;
return 1;
}
Насколько я понимаю, ch
должен иметь длину 5, 4 цифры плюс 1 для запятой.
Мне не хватает дополнительного плюса для символа завершения?
Ура! * * 1013