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

Discussion in 'LANGS.C' started by wsd, Aug 15, 2009.

  1. nop_

    nop_ New Member

    Blog Posts:
    0
    Joined:
    Jun 21, 2007
    Messages:
    61
    "Правильно" довольно нетривиально на самом деле.
    В деталях описано в этой книге: http://www.angelikalanger.com/IOStreams/examples.htm. там же и примеры есть.

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

    wsd New Member

    Blog Posts:
    0
    Joined:
    Aug 8, 2007
    Messages:
    2,824
    nop_
    cпс
     
  3. W4FhLF

    W4FhLF New Member

    Blog Posts:
    0
    Joined:
    Dec 3, 2006
    Messages:
    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

    Blog Posts:
    0
    Joined:
    Aug 8, 2007
    Messages:
    2,824
    W4FhLF
    спасибо! чётко и красиво :)