Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Форматирование числа (number_format) 
V
    Опции темы
spyswamp
Дата 2.8.2011, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 1
Всего: 7



borisbn, у меня проекты собираются под 4 версии винды и 2 дистрибутива linux. А все любители printf() и raw-указателей уже давно кастрированы. Чем еще хочешь померяться?


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
asmdzen
Дата 2.8.2011, 16:33 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата



**


Профиль
Группа: Участник
Сообщений: 345
Регистрация: 28.11.2010

Репутация: 3
Всего: 5



Сыроежка, ты где? )) smile 
PM MAIL   Вверх
volatile
Дата 2.8.2011, 16:36 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



Так ребята, давайте на этом остановимся. Честное слово надоело.

spyswamp, вашу точку зрения я понял.

Мне просто нужна такая функция для того чтобы можно было применять форматный вывод, без привлечения потоков.
Часто пишу небольшие утилитки вообще без <iostream> и иже с ним. Утилитки получаются небольшими, быстрыми, и удобными в написании.

Суть сводится к тому применять ли вообще в С++ функции подобные sprinyf ();
Я их применяю, и в обозримом будущем отказываться от них не собираюсь.
Вы их опасаетесь. Это ваше право, и вашу точку зрения я понимаю (и уважаю).
Всё.

 smile 
PM MAIL   Вверх
spyswamp
Дата 2.8.2011, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 1
Всего: 7



volatile, *handshake* Пожалуй, да. Не будем друг другу настроение портить. smile 


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
borisbn
Дата 2.8.2011, 17:11 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Всё. Не соримся. Я не буду огульно говорить, что стримы плохо ( только с доказательством smile )... Мало того, можно привести множество примеров, где без них просто не обойтись. Никак. Но и Вы должны признать, что 1) если знаешь, что делаешь 2) протестировал на куче вариантах 3) требуется быстродействие, то в замене стримов "велосипедами" типа sprintf нет ничего предосудительного.

Короче, если обходиться без оскорблений, то высказывание своей точки зрения, а главное - выслушивание чужой - это не ссора, а спор. А в споре, как известно...

Ещё короче, я, также как и Вы, против ссор, но за спор smile
*handshake* ?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
spyswamp
Дата 2.8.2011, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 1
Всего: 7



borisbn, sure yeah! *handshake*


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
volatile
Дата 2.8.2011, 23:14 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



Ну вот и славно...
В качестве мишени для насмешек и придирок выставляю свой старый код.
Там еще и гото используется. (действует как красная тряпка на многих).

Ох, боюсь низко пасть в глазах общественности...

Ну да и ладно, щаз покажу, чего уж там. 

Компилить под студией.
u64 - это unsigned __int64

Код

void currency_format  ( u64 val, char * out, char delimiter = ',' )
{
   char num [32]; // Достаточно [21], максимальное число 20 символов: 18446744073709551615
   const char * pnum = num;
   _ui64toa ( val, num, 10 );

   int len = strlen (num);
   switch ( ( len - 1 ) % 3 )
   {
      loop :   *out++ = delimiter;
      case 2 : *out++ = *pnum++;
      case 1 : *out++ = *pnum++;
      case 0 : *out++ = *pnum++;
      if ( *pnum ) goto loop;
   }
   *out = 0;
}

Ревнители стогого С++ и знатоки стандартов, можете забросать меня тухлыми яйцами. Я не обижусь.
Даже боюсь представить сколько пунктов стандарта здесь нарушено...

В качестве небольшого оправдания (если вообще такое возможно оправдать!) могу сказать,
что код написан очень давно, работал долго и никогда не подводил.

PM MAIL   Вверх
baldina
Дата 3.8.2011, 10:05 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



Цитата(volatile @  2.8.2011,  23:14 Найти цитируемый пост)
работал долго и никогда не подводил

в прямых руках и кремниевые ножи рулят)))
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.2125 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.