#include <stdio.h>
int main(){
long int hjk=2147483647;
char str[12];
sprintf(str,"%d",hjk);
printf("%s",str);
}
Как преобразовать long int в строку
Подскажите пожалуйста функцию преобразования long int в строку
ltoa (не itoa). Вариант?
itoa не держится стандартом.
Цитата: Indian
Рекомендуется использовать sprintf
Тогда уж лучше snprintf. Это предотвратит возможное переполнение буфера. Например, если где-то для long int может потребоваться больше 11 символов, то будет неприятный баг в программе.
С другой стороны, в C++ есть и другие подходы, более близкие духу C++.
Цитата: Kogrom
Тогда уж лучше snprintf. Это предотвратит возможное переполнение буфера. Например, если где-то для long int может потребоваться больше 11 символов, то будет неприятный баг в программе.
С другой стороны, в C++ есть и другие подходы, более близкие духу C++.
С другой стороны, в C++ есть и другие подходы, более близкие духу C++.
Не может: long int (32 bits) -> -2 147 483 648... +2 147 483 647
Максимум 11, и то - только со знаком '-'.
Но вообще, ИМХО лучше использовать стиль С++ ( iostream vs stdio ):
std::cout << num << '\n';