форматирование в cout

Тема в разделе "LANGS.C", создана пользователем wsd, 15 авг 2009.

  1. nop_

    nop_ New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2007
    Сообщения:
    61
    "Правильно" довольно нетривиально на самом деле.
    В деталях описано в этой книге: http://www.angelikalanger.com/IOStreams/examples.htm. там же и примеры есть.

    Вот здесь - http://www.gotw.ca/publications/mill19.htm есть хорошее сравнение разных методов форматирования строк.
     
  2. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    nop_
    cпс
     
  3. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    Ты ведь и свой манипулятор написать можешь без проблем.

    namespace mymanip
    {
    std::ostream& hexmode (std::ostream& strm)
    {
    return strm << std::hex << std::showbase;
    }

    std::ostream& nohexmode (std::ostream& strm)
    {
    return strm << std::dec << std::noshowbase;
    }
    }

    int main(int argc, char* argv[])
    {
    #define IMAGE_NT_SIGNATURE 0x00004550
    std::cout << mymanip::hexmode << IMAGE_NT_SIGNATURE << std::endl;
    std::cout << mymanip::nohexmode << IMAGE_NT_SIGNATURE << std::endl;

    return 0;
    }

    Вывод:
     
  4. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    W4FhLF
    спасибо! чётко и красиво :)