Поиск:

Закрытая темаСоздание новой темы Создание опроса
> прочитать определенные данные из файла 
V
    Опции темы
Dmi3ev
Дата 8.6.2009, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



я бы делал так
Код

//...
        char s[256];//сюда будем читать строки из файла по очереди
        ifstream fi("D:\\1.txt");//окрыли файл (можно добавить проверку, открылся он или нет, это уже не суть важно)
        while(!fi.eof())//пока не конец файла
        {
                fi.getline(s, 256);//читаем строку
                cout<<s[5];//выводим пятый символ строки
        }
//...
        fi.close();//закрыли поток, больше он не нужен, при выходе из функции в принципе это сделается автоматически вроде...
//...




--------------------

PM MAIL   Вверх
gordmiand
Дата 8.6.2009, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 15.4.2007

Репутация: нет
Всего: 0



Dmi3ev: 1) а что за функция ifstream? у меня пишет ошибку (неизв. символ ifstream) - и неужели    
                  нельзя  это сделать обычным fread или т.п. (как именно?)?
              2) куда идет вывод символа ф-ей соut?
              3) почему размер строки=256 (я ж ее не знаю точно) 
PM MAIL   Вверх
Dmi3ev
Дата 8.6.2009, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



Цитата

1) а что за функция ifstream? у меня пишет ошибку (неизв. символ ifstream) - и неужели    

надо подключить заголовок
Код

#include <fstream.h>

Цитата

 2) куда идет вывод символа ф-ей соut?

ну это типа я изобразил просто вывод, это консоль типа.
я прям тут писал...
я просто саму суть пытался донести, а не сделать программу...
ты выводи куда тебе надо...
Цитата

3) почему размер строки=256 (я ж ее не знаю точно)  

ну это типа максимальный (строка может быть и меньше), больше 256 символов в строке в твоем файле точно нет... если есть, то задай больше...
Цитата

 нельзя  это сделать обычным fread или т.п. (как именно?)

можно делай, я просто показал, как бы я сделал...


--------------------

PM MAIL   Вверх
gordmiand
Дата 8.6.2009, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 15.4.2007

Репутация: нет
Всего: 0



ответ получается неверным....почему-то из первой строки берет нужный (хочу первый) код символа, а из следующих строк - нет (вроде со смещением...)????

см. прилагаемый архив - красным выделен верный ответ (хочу считать коды первых символов из строк кодов (а не текстовых строк)- выделены красным)


тут наверное надо не символами(строками) оперировать, а смещением по всему тексту на определенное число байт, так как текст не сохраняется в его изначальном виде, а строки компонуются по 16 символов(???), т.е. 16 байт в строке (см. рис.)...а вы этого не учитывали наверное...как тогда быть?

Это сообщение отредактировал(а) gordmiand - 8.6.2009, 23:06

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  progr.rar 125,83 Kb
PM MAIL   Вверх
gordmiand
Дата 8.6.2009, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 15.4.2007

Репутация: нет
Всего: 0



и почему же неправилен код (тоже происходит смещение кодов под конец  - см. по рисунку верный ответ), который закомментирован в программе из архивника предыдущего сообщения?
(видать не в каждой строке по 16 байт? но судя по рисунку (см. справа) в каждой строке вроде по 16 разного рода символов...и в каждой строке по 16 кодов символов - тогда что тут не так?)
PM MAIL   Вверх
dumb
Дата 8.6.2009, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 32
Всего: 158



gordmiand, будь добр, прочитай внимательно мой первый пост в этой теме. обрати особое внимание на первую его половину, и на то, что там отмечено красным цветом.
PM MAIL   Вверх
Dmi3ev
Дата 8.6.2009, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



а так у него бинарник... я просто архивчик не смотрел... тогда слушай dumb-а... или делай как я сказал, только не
Цитата

ifstream fi("D:\\1.txt");

а 
Код

ifstream fi;
fi.open("D:\\1.txt", ios::binary)

вот...


--------------------

PM MAIL   Вверх
gordmiand
Дата 9.6.2009, 06:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 15.4.2007

Репутация: нет
Всего: 0



dumb: то есть вместо ключа "r" использовать "rb"?


Dmi3ev: что такое ios?
PM MAIL   Вверх
mrbrooks
Дата 9.6.2009, 07:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Цитата(gordmiand @  8.6.2009,  19:41 Найти цитируемый пост)
как все сложно...наверняка можно попроще все это сделать...

в чем сложность? я же написал - что это стандартный файловый ввод-вывод С++. 

Цитата(Dmi3ev @  8.6.2009,  19:54 Найти цитируемый пост)
я бы делал так

а я бы нет  smile 
уж если и считывать буфер - то по 16 байт и выделять каждый пятый. Но это смотрится не особо кошерно, когда можно просто перемешать курсор по файлу и считывать всего один нужный байт.

Добавлено через 1 минуту и 4 секунды
Кстати то пятый байт, то девятый. Автор не постоянен  smile 
PM MAIL   Вверх
Dmi3ev
Дата 9.6.2009, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



mrbrooks, тут похоже надо весь файл читать, просто автор об этом смутно говорит...
Тем более я предлагал тогда, когда не знал, что это бинарник...

Добавлено через 3 минуты и 8 секунд
Цитата

Dmi3ev: что такое ios? 

это можно узнать в интернете
Цитата

dumb: то есть вместо ключа "r" использовать "rb"?

вот туго доходит... ДААААААААААААААААААААА...
dumb, уже очень-очень-очень намекнул, что нужно сделать  smile 


--------------------

PM MAIL   Вверх
gordmiand
Дата 9.6.2009, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 15.4.2007

Репутация: нет
Всего: 0



фуууууууууф.....вопрос решил...ну надо же - одна буква ("b" в fscanf) и всееееее.....а выделенный символ я и не заметил в первом сообщении dumb-a....
всем спасибо....

Добавлено @ 21:59
подскажите еще пож-та как задать двумерный массив жел-но типа Int размером [> 100000][5]?

Это сообщение отредактировал(а) gordmiand - 9.6.2009, 22:00
PM MAIL   Вверх
dumb
Дата 10.6.2009, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 32
Всего: 158



gordmiand, если бы ты прочитал правила форума, то увидел бы там п.10 - "Один топик - один вопрос".

Модератор: тема закрывается, а gordmiand пытается сконцентрироваться, чтобы четко прописать суть вопроса(п.1 правил, ага) в тему нового топика. а еще лучше последовать рекомендации из п.12.
PM MAIL   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0551 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.