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

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

Войти
Регистрация
Восстановить пароль
 
Planet Mars
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 5
#1

Не слишком корректное сохранение в HEX - C++

15.11.2015, 21:30. Просмотров 131. Ответов 2
Метки нет (Все метки)

Здравстуйте! Есть проблема.
C++
1
2
3
for(pos = 32; pos > -1; pos--) {
    inp[pos] = ' ';
}
Инициализирую массив символов(char), при помощи scanf я считываю строку с консоли и заношу её файл данным кодом(предусматривается всего лишь одно слово, по этому запись идёт до след. пробела):
C++
1
2
3
4
5
6
7
8
for(;;) {
         if (charToPut == ' ') {
           break;
         }
    charToPut = inp[pos];
    putc(charToPut, file);
    ++pos;
}
В файле появляется 16-теричный код(HEX код). Данный код я расшифровал при помощи онлайн-ресурсов.
Например, введённое слово в консоль - "Hello". Сохранили, закрыли полиш в нэт. Перевели HEX в текст. На выходе ловим слово "Hello" + квадратную кракозябру. Что я делаю не так?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2015, 21:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не слишком корректное сохранение в HEX (C++):

Если HEX одного файла заменить на HEX другого, то изменится ли файл и будет ли работоспособным? - C++
Привет, если два файла a.exe(калькулятор) и b.exe(выводит строку "Hello World") Если открыть файл b.exe в HEX-редакторе и подменить его...

[BMP] HEX (из HEX-редактора) в DEC - C++
Имеется файл *.bmp (который нельзя вложить в сообщение). В самом файле есть его свойства (размер и т.д.). Как их перевести из HEX в DEC? ...

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

Как разбить одно число HEX число на два числа HEX ? - C++
Задача в том, что бы одно число в виде HEX (к примеру 0xD681) разбить на 2 числа HEX (из 0xD681 - &gt; 0xD6 и 0x81) именно что бы вот так...

Treeview корректное сохранение и открытие - Delphi
Добрый вечер великим умам!! Помогите еще раз бедному тупому ( Есть дерево два едита и две кнопки (Сохр и Откр). При вводе в едит имени...

Обнавление записей в форме и корректное сохранение их - MS Access
Здравствуйте уважаемые программисты , возник вопрос такого плана , раньше я делал базу на Access 2010 ,но всвязи различных причин , меня...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
_Valera_
486 / 368 / 94
Регистрация: 27.01.2015
Сообщений: 1,588
15.11.2015, 21:43 #2
Цитата Сообщение от Planet Mars Посмотреть сообщение
Что я делаю не так?
задаешь вопрос:
1. Покажи весь код
2. Покажи скрин проблемы (своими рассказами ты только запутал)
3. Вводимое значение.
0
Planet Mars
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 5
16.11.2015, 17:16  [ТС] #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "stdio.h"
 
int main(int argc, char const *argv[])
{
        int pos;
        FILE *file;
        file = fopen("shpconfig.cfg", "wt");
        char inp[32];
        for(pos = 32; pos > -1; pos--) {
            inp[pos] = ' ';
        }
        char charToPut;
 
        pointer = inp;
        scanf("%s", inp);
        if (file == NULL) {
                printf("%s\n", "Error");    
        } else {
                pos = 0;
                for(;;) {
                    if (charToPut == ' ') {
                        break;
                    }
                    charToPut = inp[pos];
                    putc(charToPut, file);
                    ++pos;
                }
        }
        fclose(file);
        return 0;
}
Строка можут быть любая. Я написал "Hela".
Получается это же Hela + символ квадрата с 4 нулями(походу в шрифте не предусмотрен этот символ, вот и заменили на этот значёк)

Добавлено через 19 часов 22 минуты
В файле выбивает это: 4865 6c61 0020
Можешь проверить
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2015, 17:16
Привет! Вот еще темы с ответами:

Корректное сохранение из ComboBox в базу данных Access - C#
Здравствуйте. я начинающий программист С#. прощу вас помочь разобраться с встретившейся проблемой. я использую подключение к БД при...

Сохранение HEX в файл - Delphi
Вопрос в следующем: Есть в RichEdit строки с шестнадцатиричными представлениями значений байтов (4B0300161E330000626CD142A36FDB10) как...

Сохранение страниц выполняется слишком долго, и текст обрезается - Apache, htaccess
Здравствуйте! Помогите пожалуйста решить следующую проблему. Сайт на wp. Сервер apache 2.2 Проблема в том, что сохранение страниц...

Как преобразовать hex в ascii (HEX редактор) - C++/CLI WinForms
Написал: String ^in; openFileDialog1-&gt;Filter = &quot;hex Files|*.hex&quot;; openFileDialog1-&gt;Title = &quot;Select a hex File&quot;; ...


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

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

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