Форум программистов, компьютерный форум CyberForum.ru

неправильно отображает файл в HEX режиме - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не могу скомпилировать? http://www.cyberforum.ru/cpp-beginners/thread937937.html
Не могу скомпилировать программу. Каждый раз такая беда(((
C++ как выглядят функции как выглядят функции (просмотр списка в обратном направлении, поиск заданного элемента в прямом направлении , добавление элемента перед заданного) http://www.cyberforum.ru/cpp-beginners/thread937928.html
C++ функции в классах
есть класс my_class, у него есть две функцииmy_class::X_definition(int k, long double t ) {... return x; }; my_class::Y_definition(int k, long double t ) {... return y; }; есть класс my_class2, в нем хочу сделать ф-цию my_class2::Lenght_definition, которая бы брала два созданных объекта класса (например my_class k1;my_class k2;) и делала бы так Lenght = sqrt(sqr(k1->X_definition -...
reset(). Что это? C++
Что такое reset()? TemplateVector (int nArraySize) { nSize = nArraySize; array = new T ; reset(); }
C++ Что делать с EOF http://www.cyberforum.ru/cpp-beginners/thread937876.html
Всем привет. Ввожу в Visual Studio 2012 вот такой код: #include <stdio.h> #include <conio.h> #define eof -1 int main() { long nc; nc = 0; printf("Make input>\n"); while(getchar() != eof)
C++ Условия построения матрицы Здравствуйте! Подскажите нубу, как вообще работают условия, например требуется вывести двумерный массив в виде: 4 22 177 5738 23479 Т.е. не в виде квадрата, а вот таким образом. Я погуглил, и нашел ответ на этот вопрос, условие - "if (i + k >= 5)". Однако мне нужно вывести не только в виде одной формы, вот мучаюсь над созданием условия для получение вот такого результата: подробнее

Показать сообщение отдельно
nonedark2008
906 / 645 / 133
Регистрация: 28.07.2012
Сообщений: 1,758
14.08.2013, 17:04
power12, твоя проблема в том, что %02X используется для беззнакового вывода. Тем более тип там подразумевается unsigned int. Т.е. твой char будет преобразован в unsigned int. Далее 02X - это указание минимальной длины, т.е. длина может быть больше. А когда преобразуется отрицательный char в int - получает фигню типа FFFFFF1D и она вся выводится.
Так что в твоем случае нужно что-то типа:
C++
1
printf(" %02X", (unsigned char)buf[i]);
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru