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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2012, 23:43   #1
Muvvka
Пользователь
 
Аватар для Muvvka
 
Регистрация: 27.04.2012
Сообщений: 18
По умолчанию мусор при двоичном чтении файла

Привет!.
значит начал я шилда учить дошёл до темы потокового ввода вывода данных в файл и из файла а конкретней в чтении его с помощь функции in.read в двоичном режиме! суть проблемы в том что мне из картинки размерами 5х5 в 24байта к примеру надо вывести массив пикселей! я четаю по 1 байту с позиции 53 и всё вроде бы шоколадно но вот беда символы новой строки пикселей отображаются как нули и мешают мне вывести массив цветов той самой картинки вот код той самой программы.
Код:
//------------------------------------------------------------------------
#include <iostream>
#include <fstream>
#pragma hdrstop
//------------------------------------------------------------------------
using namespace std;
#pragma argsused
int main(int argc, char *argv[])
{
ifstream in(argv[1], ios::in | ios::binary);
if(!in){
cout<<"dont opened file";//если открыть не удалось
return 1;
}
register int i=0;
int buffer;
do{
buffer=0;

in.read((char *) &buffer, 1);//считываем блок данных.
if(i>53){cout<<buffer<<"\n";}
i++;
}while(!in.eof());

in.close();
Sleep(1000000);
return 0;
}
//------------------------------------------------------------------------
уточню вопрос: символы новой строки тут являюца мусором и я мечтаю как их убрать

Последний раз редактировалось Stilet; 12.11.2012 в 18:51.
Muvvka вне форума Ответить с цитированием
Старый 12.11.2012, 11:16   #2
Mr.Fox
 
Аватар для Mr.Fox
 
Регистрация: 11.11.2012
Сообщений: 6
По умолчанию

Код:
//------------------------------------------------------------------------
#include <iostream>
#include <fstream>
#pragma hdrstop
//------------------------------------------------------------------------
using namespace std;
#pragma argsused
int main(int argc, char *argv[])
{
ifstream in(argv(1), ios::in | ios::binary);
if(!in){
cout<<dont opened file;
return 1;
}
register int i=0;
int buffer;
do{
buffer=0;

in.read((char *) &buffer, 1);
if(i>53){cout<<buffer<<"\n";}
i++;
}while(!in.eof());

in.close();
Sleep(1000000);
return 0;
}
//------------------------------------------------------------------------
Mr.Fox вне форума Ответить с цитированием
Старый 14.12.2012, 00:52   #3
Muvvka
Пользователь
 
Аватар для Muvvka
 
Регистрация: 27.04.2012
Сообщений: 18
Радость

тут просто в двоичном режиме чтение а вот с уборкой мусора и записью в массив спасибо всем кто помогал....
Код:
//---------------------------------------------------------------------------
#include <iostream>
#include <fstream>
#include <windows>
#pragma hdrstop
//---------------------------------------------------------------------------
using namespace std;

#pragma argsused
int main(int argc, char *argv[])
{
int buffer;
int massiv[16];
int i=0;
int musor=0;
ifstream in("test.bmp", ios::in | ios::binary);
if(!in){
cout<<"Dont opened\n";
return 1;}
in.seekg(54);
while(!in.eof())
{
buffer=0;//обнуляем буффер
in.read((char *) &buffer, 3);//считываем блок данных пикселя.
massiv[i]=buffer;
cout<<buffer<<" "<<i<<"\n";//выводим код пикселя и номер пикселя
i++;//нумерация пикселей

in.read((char *) &musor, 1);//считываем блок данных мусора.
};
in.close();
ofstream out("test.txt");
if(!out){
return 1;}
for(i=0; i<15; i++){
out<<massiv[i]<<" "<<i<<"\n";
}
out.close();
Sleep (10000);
return 0;
}
//картинка bmp 32 бита *изменить порядок строк!
Muvvka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при чтении файла Стремящийся Общие вопросы по Java, Java SE, Kotlin 4 03.07.2012 16:50
Кодировка при чтении из файла _-Re@l-_ Общие вопросы .NET 2 21.11.2010 20:12
ошибка при чтении файла Alik-Soldier Общие вопросы C/C++ 1 31.05.2009 20:44
Проблема при чтении из файла Satorin Общие вопросы Delphi 2 17.12.2008 11:32
Ошибка при чтении БД из файла!! sting БД в Delphi 4 14.12.2008 22:23