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

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

Войти
Регистрация
Восстановить пароль
 
Александр Елис
3 / 3 / 1
Регистрация: 20.05.2010
Сообщений: 50
#1

Файлы, потоки... - C++

08.08.2010, 20:10. Просмотров 395. Ответов 3
Метки нет (Все метки)

Доброго Вам времени суток, уважаемые программисты!
Прошу объяснения следующих вопросов.
1) Каким образом реализованы сами файлы. (имею ввиду, каким образом я могу оперировать файлами, не используя стандартных классов[ну и тем более этого FILE]) {т.е, допустим, я хочу написать класс файл. с чего начать?}
2) Потоки... каким образом реализованы они. Как написать класс поток, не используя заготовок.
3) Почему не работает этот кусок кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void File::fSetSize()
{
    ifstream* file = NULL;
    char ch;
    if(cPatch==NULL)
    {
        cout << "\nMissing file to get size\n";
        return;
    }
    while(true)
    {
        file = new ifstream(cPatch);
        while((!file->eof())||(!file->fail()))
        {
            *file  >> ch;
            cout << "\n" << ch << endl;
            iSize++;
        }
    }
    return;
}

cPatch - char*, полный путь текстового файла. iSize - размер файла, который я пытаюсь узнать. На выводе получается много больше символов, чем есть в файле. Притом, символы только те, которые есть в файле. Что же не так?
ЗЫ. Заранее спасибо!!!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2010, 20:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Файлы, потоки... (C++):

нужно переделать код (из Файлы текстовые (FILE*) в Файлы текстовые (потоки)) - C++
вот задание для программы: 6. Задан текстовый файл input.txt. Требуется определить строки этого файла, содержащие максимальную по длине...

Потоки. Файлы - C++
#include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;stdio.h&gt; #include &lt;fstream&gt; #include &lt;algorithm&gt; using...

Потоки и файлы - C++
Здравствуйте! Помогите, пожалуйста, исправить ошибки, ну не получается у меня... я кажется запуталась с этими потоками......

Потоки и файлы - C++
/*Дан текстовый файл f. Переформатировать исходный файл, разделяя его на строки так, чтобы каждая строка содержала столько символов,...

потоки и файлы - C++
Почему при компиляции у меня вообще ничего не происходит? Хоть бы ошибку какую выдавало, а так не знаю где искать #include &lt;iostream&gt; ...

файлы-потоки - C++
Помогите пожалуйста... нужно написать родовую функцию, которая копирует n байт из файла в память, которая выделяется в родовой функции....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Евгений М.
1035 / 976 / 54
Регистрация: 28.02.2010
Сообщений: 2,829
Завершенные тесты: 2
08.08.2010, 20:24 #2
1. Если Вы считаете, что FILE - это класс, то Вы ошибаетесь. Если не ошибаюсь это структура, которая работает на C.
Чтобы начать писать свой класс, нужно изучить функции для работы с файлами.
2. Вопрос не понял. Но думаю поможет: http://www.cyberguru.ru/programming/...p4-page40.html
3. В Вашем коде бесконечный цикл с 12 по 20 строки. Зачем Вам while(true)?
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,602
08.08.2010, 20:32 #3
Александр Елис,
1) физически текстовый файл - это некая последовательность байтов на диске. Кроме того у каждого файла есть набор мета-данных (дата создания/доступа/изменения, владелец, права доступа, etc... Точный набор этих данных зависит от системы.). Для работы с файлами в *NIX есть системные вызовы open()/read()/write()/close(). В WinAPI должно быть что-нибудь подобное. Начните с изучения этих моментов.
2) настоятельно рекомендую изучить работу с существующими классами потоков, а потом уже браться за разработку собственного.
3) опять же настоятельно рекомендую изучить работу с классами потоков...
Александр Елис
3 / 3 / 1
Регистрация: 20.05.2010
Сообщений: 50
08.08.2010, 20:37  [ТС] #4
Про то, что FILE - это не класс, а сишная структура, я отлично понимаю. Про функции работы с файлами: я хочу понять более фундаментальный уровень. Что именно представляет собой файл, каким образом написаны функции для работы с ним. За ссылку спасибо. Ну а про бесконечнй цикл - спасибо, что-то я перезанимался сегодня...

Добавлено через 2 минуты
Спасибо огромное всем откликнувшимся. Тему можно закрывать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2010, 20:37
Привет! Вот еще темы с ответами:

Файлы и потоки - C++
В исходном файле F.txt даны float–числа в формате с фиксированной точкой (5 знаков после запятой). Создать файл F1.txt из отрицательных...

Файлы. Потоки - C++
Помогите пожалуйста, нужно нормально доработать программу.. у меня не получается... нужно чтобы программа считывала с блокнота данные и...

потоки и файлы - C++
У меня есть такое задание: Дан файл f, компоненты которого являются целыми числами. Записать в файл g, компоненты файла f, исключив...

Текстовые файлы и потоки ввода/вывода - C++
Доброго времени суток. Уважаемый гуру, не могли бы вы мне помочь с решением данной программы. Алгоритм знаю, но никак не могу его...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.08.2010, 20:37
Ответ Создать тему
Опции темы

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