Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2014, 22:58   #1
bedouin
Пользователь
 
Регистрация: 05.01.2012
Сообщений: 27
По умолчанию Проблемы с преобразованием данных

Доброго времени суток!

Наверное задам глупый вопрос, но уперся в проблему:
Надо преобразовать бинарный файл с данными в 16-ричной форме в десятичный файл.
Мои бинарные данные разбиты на кадры по 6 байт.
В начале я пишу номер строки, а затем уже эти 6 преобразованных байт.
До строки 166667 все работает, а далее идут нули.
Где я ошибся?
Код ниже

Код:
// HexDecConvertor11Dlg.cpp : файл реализации
//
 
#include "stdafx.h"
#include "HexDecConvertor11.h"
#include "HexDecConvertor11Dlg.h"
 
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
//**************************************************************************
//ИСХОДНЫЕ ДАННЫЕ
//**************************************************************************
CFile HexFile; //Бинарный файл
unsigned char dat[2000000]; //Размер бинарного файла
CString HexFileName; //Имя бинарного файла
CString DecFileName; //Имя десятичного файла
 
//Параметры для проведения синхронизации
CString Cstroke="";
char Ctemp[8];
int k=0;
int Mas[2000000];
int l=0;
char buff[2000000];
 
//НАЧАЛЬНАЯ ИНИЦИАЛИЗАЦИЯ
int counter=0;  //Счетчик кадров
CString stroke=""; //Строка для форматированного ввода данных
char temp[15]; //Промежуточная переменная для ввода данных
unsigned int dec0=0; //Вспомогательная переменная для перевода данных
unsigned int dec1=0;
unsigned int dec2=0;
 
 
void CHexDecConvertor11Dlg::OnBnClickedButton1()
{
 
//Считываем бинарый файл
    CFileDialog fd(true);
    if (fd.DoModal()==IDOK)
{m_ListHex.ResetContent();
m_ListHex.AddString(fd.m_ofn.lpstrFileTitle);}
 
//Открываем исходный бинарный файл
    HexFileName = fd.m_ofn.lpstrFileTitle;
    HexFile.Open(HexFileName, CFile::modeReadWrite | CFile::shareDenyNone); 
    DWORD S = GetFileSize(HexFile,NULL);
    HexFile.Read(dat, S);
 
//Создаем десятичный файл
DecFileName = "DEC"+HexFileName;
//char * fileName = DecFileName; // Путь к файлу для записи
FILE * DecFile = fopen(DecFileName, "w");
int i=0;
//Считываем данные для поиска кадра синхронизации
while (i<200000)
{
counter++;
itoa(counter, temp, 10);
stroke += temp;
stroke += "\t";
dec0=(int)dat[(i)*6];
itoa(dec0, temp, 10);
stroke += temp;
stroke += "\t";
dec0=(int)dat[i*6+1];
itoa(dec0, temp, 10);
stroke += temp;
stroke += "\t";
dec0=(int)dat[i*6+2];
itoa(dec0, temp, 10);
stroke += temp;
stroke += "\t";
dec0=(int)dat[i*6+3];
itoa(dec0, temp, 10);
stroke += temp;
stroke += "\t";
dec1=(int)(dat[i*6+5]*0x100);
dec2=(int)(dat[i*6+4]);
dec0=dec1+dec2;
itoa(dec0, temp, 10);
stroke += temp;
stroke += "\t";
 
stroke += "\n";
 
bool result = fputs(stroke, DecFile); // и записываем ее в файл
stroke = "";
i++;
}
counter=0;
HexFile.Close();
fclose(DecFile);
 
}

Последний раз редактировалось bedouin; 21.10.2014 в 23:00.
bedouin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с преобразованием alexey_kip Общие вопросы C/C++ 7 16.05.2013 14:29
Проблема с чтением и преобразованием данных с COM порта Andybrain Win Api 8 20.09.2012 15:47
Проблемы с преобразованием типов kta87 Общие вопросы Delphi 2 17.03.2012 16:30
Проблема с автоматическим преобразованием типа данных в Excel kovalevskivf Microsoft Office Excel 0 20.05.2010 01:25
подскажите с преобразованием Mikimaus Общие вопросы C/C++ 1 22.11.2009 00:32