Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Функция ltoa()  (Прочитано 1777 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн tro9an

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Функция ltoa()
« : 10 Января 2011, 21:55:27 »
Нужна функция ltoa(), но наскока я знаю в Linux'e её нету, чем заменить? или может самому написать альтернативу? (в случае 2, если кто писал, поделитесь опытом, нету там ничего сверхестественного?, а то опыта в програмировании на С++, не многа)

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: Функция ltoa()
« Ответ #1 : 10 Января 2011, 22:11:26 »
Если именно C++ то не вижу проблем с преобразованием чего бы то ни было в строку
template<typename T>
std::string toString(T val)
{
    std::ostringstream oss;
    oss << val;
    return oss.str();
}

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Функция ltoa()
« Ответ #2 : 10 Января 2011, 22:29:34 »
велосипедим boost::lexical_cast?

Оффлайн hippi90

  • Активист
  • *
  • Сообщений: 433
    • Просмотр профиля
Re: Функция ltoa()
« Ответ #3 : 10 Января 2011, 23:56:44 »
itoa() - это int в строку? Если да, то смотрим в сторону sprintf(), например:
int num = 1;
char str[256];
sprintf(str, "%d", num);

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Функция ltoa()
« Ответ #4 : 11 Января 2011, 05:22:19 »
hippi90,
int != long !!!

Оффлайн hippi90

  • Активист
  • *
  • Сообщений: 433
    • Просмотр профиля
Re: Функция ltoa()
« Ответ #5 : 11 Января 2011, 06:18:13 »
Прошу прощения, я не увидел, что речь идет о long int, тогда строка будет иметь вид:
sprintf(str, "%ld", num);

Оффлайн Not eXist

  • Активист
  • *
  • Сообщений: 916
    • Просмотр профиля
Re: Функция ltoa()
« Ответ #6 : 11 Января 2011, 14:50:58 »
sprintf/wsprintf

Оффлайн smaharbA

  • Участник
  • *
  • Сообщений: 220
    • Просмотр профиля
Re: Функция ltoa()
« Ответ #7 : 11 Января 2011, 15:01:07 »
а куда в принтфэ всовывать основание (конечный нул ладно, это просто)
Я конечно далек от мысли...(с)

Оффлайн SergeyIT

  • Зануда.
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5743
  • Все по палатам!
    • Просмотр профиля
Re: Функция ltoa()
« Ответ #8 : 11 Января 2011, 15:29:45 »
а куда в принтфэ всовывать основание (конечный нул ладно, это просто)
man 3 printf
Извините, я все еще учусь

Оффлайн smaharbA

  • Участник
  • *
  • Сообщений: 220
    • Просмотр профиля
Re: Функция ltoa()
« Ответ #9 : 11 Января 2011, 15:30:48 »
а можно привести готовую строчку с принтфэ для 11-ричной системы исчисления ?
Я конечно далек от мысли...(с)

Оффлайн __v1tos

  • Участник
  • *
  • Сообщений: 105
  • Ubuntuu 10.10 x86-64
    • Просмотр профиля
Re: Функция ltoa()
« Ответ #10 : 11 Января 2011, 20:28:17 »
Кажется printf, sprintf и т.д. не поддерживают произвольное основание системы счисления, нужно самому писать.

Могу привести в качестве примера
(Нажмите, чтобы показать/скрыть)
AMD Phenom II 945, GA-MA790GPT-UD3H (HD 3300), 5 GiB ram

Оффлайн smaharbA

  • Участник
  • *
  • Сообщений: 220
    • Просмотр профиля
Re: Функция ltoa()
« Ответ #11 : 11 Января 2011, 21:29:33 »
на сколько понимаю, фраза
Цитировать
man 3 printf
говорит о наличии в документации данного момента
и как бы указывает на неполноценность ярого вендузятника
Я конечно далек от мысли...(с)

Оффлайн __v1tos

  • Участник
  • *
  • Сообщений: 105
  • Ubuntuu 10.10 x86-64
    • Просмотр профиля
Re: Функция ltoa()
« Ответ #12 : 11 Января 2011, 21:41:53 »
на сколько понимаю, фраза
Цитировать
man 3 printf
говорит о наличии в документации данного момента
и как бы указывает на неполноценность ярого вендузятника
не особо понял, что Вы хотели сказать.
По поводу чисто printf я только за, если получится что то с *printf, покажите пожалуйста, буду рад
AMD Phenom II 945, GA-MA790GPT-UD3H (HD 3300), 5 GiB ram

Оффлайн smaharbA

  • Участник
  • *
  • Сообщений: 220
    • Просмотр профиля
Re: Функция ltoa()
« Ответ #13 : 11 Января 2011, 21:44:24 »
точно так же буду рад быть не правым
Я конечно далек от мысли...(с)

 

Страница сгенерирована за 0.017 секунд. Запросов: 22.