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

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

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

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

08.08.2010, 20:10. Просмотров 379. Ответов 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++ файлы-потоки
Потоки в С++ C++
C++ Потоки.
C++ Файлы и потоки
Потоки C++
C++ Файлы. Потоки
C++ потоки и файлы
C++ Потоки и файлы
C++ Текстовые файлы и потоки ввода/вывода
Потоки и файлы C++
C++ потоки и файлы
Потоки. Файлы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Евгений М.
1034 / 975 / 53
Регистрация: 28.02.2010
Сообщений: 2,819
Завершенные тесты: 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
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
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 минуты
Спасибо огромное всем откликнувшимся. Тему можно закрывать.
Yandex
Объявления
08.08.2010, 20:37     Файлы, потоки...
Ответ Создать тему
Опции темы

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