Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
newbie666
Заблокирован
#1

Std::count << std::hex << (long) 0x0a; Как сделать, чтоб от HEX значения ноль при выводе не убирался? - C++

04.04.2014, 12:25. Просмотров 1161. Ответов 3
Метки нет (Все метки)

сабж...( std::count << std::hex << (long) 0x0a; )

выводится просто a, вместо , а надо чтоб было именно ...
куда делся setw, пишет что нет такого, в каком файле он объявлен то? Или как то по другому надо

Добавлено через 33 минуты
нет, ну можно конечно сделать так:
C++
1
2
3
4
5
6
7
8
9
10
std::fstream fs(L"out.txt", std::ios::out);     
if(fs.is_open())
{
    byte superByte = 0xdc;
    if((superByte >> 4) == 0)
        fs << std::hex << '0' << (long)superByte;
    else
        fs << std::hex << (long)superByte;
    fs.close(); ;
}
но разве по элегантней способа нет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2014, 12:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Std::count << std::hex << (long) 0x0a; Как сделать, чтоб от HEX значения ноль при выводе не убирался? (C++):

std::ios::hex или std::ios.hex - C++
привет в коде встретил вот такую строчку ss.setf(std::ios.hex, std::ios::basefield); и на VS2008 это работает. Разве это...

Как узнать, находится ли std::cout в hex-режиме? - C++
Как узнать, находится ли std::cout в hex-режиме?

Не воспринимает ни std::cout, ни std::cin. Вобщем ничего из std. Также не понимает iostream - C++
Здравствуйте! Я хотел начать изучать язык C++. Набрал литературы. Установил Microsoft Visual C++ 2005 Express Edition. Образ диска...

ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri - C++
на вод поступают 2 строки типа string. определить количество вхождений строки 2 в строку 1 ошибка error: cannot convert 'std::string {aka...

STL std::set, std::pair, std::make_pair - C++
Я не знаю как описать тему в двух словах, поэтому не обращайте внимание на название темы. Собственно перейдем к нашим баранам: есть...

На основе исходного std::vector<std::string> содержащего числа, создать std::vector<int> с этими же числами - C++
подскажите есть вот такая задача. Есть список . Создать второй список, в котором будут все эти же числа, но не в виде строк, а в виде...

3
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,138
04.04.2014, 13:17 #2
Цитата Сообщение от newbie666 Посмотреть сообщение
но разве по элегантней способа нет?
Есть
C++
1
2
3
4
5
6
7
8
#include <iostream>
 
int main()
{
    int x = 123;
    std::cout << std::hex << std::showbase << x << std::endl;
    return 0;
}
Цитата Сообщение от newbie666 Посмотреть сообщение
setw, пишет что нет такого, в каком файле он объявлен то?
C++
1
#include <iomanip>
0
SatanaXIII
Супер-модератор
Эксперт С++
5639 / 2674 / 252
Регистрация: 01.11.2011
Сообщений: 6,571
Завершенные тесты: 1
04.04.2014, 13:20 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//---------------------------------------------------------------------------
#include <iostream>
#include <iomanip>
 
using std::cout;
using std::cin;
 
int main(int argc, char* argv[])
{
cout << std::setw(10) << std::hex << std::showbase << 0x0a;
cin.ignore();
return 0;
}
//---------------------------------------------------------------------------
Вот здесь почитать.
0
newbie666
Заблокирован
04.04.2014, 14:50  [ТС] #4
Цитата Сообщение от SatanaXIII Посмотреть сообщение
1
//---------------------------------------------------------------------------
#include <iostream>
#include <iomanip>
using std::cout;
using std::cin;
int main(int argc, char* argv[])
{
cout << std::setw(10) << std::hex << std::showbase << 0x0a;
cin.ignore();
return 0;
}
//----------
Это не верно. setw вообще на это не влияет, он просто ставит ширину поля, это хорошо для вывода столбиками текста в файлик. В результате этого база то показывается, а нолик стирается - в результате 0xa

Добавлено через 2 минуты
Цитата Сообщение от dimcoder Посмотреть сообщение
#include <iostream>
int main()
{
* * int x = 123;
* * std::cout << std::hex << std::showbase << x << std::endl;
* * return 0;
}
это тоже не верно. Так же, показывает НОЛЬ и ИКС - 0х, после этого простая цифра без нолика


В общем что мне надо:
C++
1
2
3
4
byte a = 0x03;
 
// std::fstream fs(L"OUT.txt", std::ios::out);
fs << ... что то там , что б файле было [B]03[/B] (заглавными :-) )
Добавлено через 27 секунд
так что мой способ, предложенный в начале - единственно верный на данным момент
0
04.04.2014, 14:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2014, 14:50
Привет! Вот еще темы с ответами:

Возможно ли создать контейнер std::map, в котором в качестве значения была бы ссылка на std::map? - C++
Здравствуйте. Возможно ли создать контейнер std::map, в котором в качестве значения была бы ссылка на std map? Например: std::map...

Long int записать в hex побайтно - C++
Всем доброго времени суток... есть long int число, состоящее из 4 байт, нужно их записать в массив char по 2 байта в ячейку, но эти...

Как искать по std::vecotr из std::pait по одному значению из пары? - C++
? :) Пункт 4.7 Правил: Как можно более полно описывайте суть проблемы или вопроса, что было сделано для ее решения и какие результаты...

Как можно еще использовать std::placeholders вне в связки с std::bind? - C++
Добрый день! Как можно еще использовать std::placeholders вне в связки с std::bind?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.