![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| xach |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 22.10.2004 Где: СПб Репутация: нет Всего: нет |
Привет Друзья!
Подскажите пожалуйста самый самый метод доступа к файлу... Хотелось бы что бы поинтуитивнее был, по типу Delphi`йского TFileStream, Чтобы я видел поле Size, поле Position, процедурки там Read, Write... Заранее благодарен... |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
CreateFile, ReadFile, WriteFile, CloseHandle
--------------------
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Самый самый...и тут несколько вариантов ответа..
Самый быстрый Самый удобный Самый распространенный... Какой именно??? Можно пользоваться CRT (C Runtime Library) fopen, fwrite, fread, fgetpos, fseek... Можешь из всего этого обильного наличия функций создать свой собственный класс в котором будут твои функции или процедурки... Можешь на STL перейти..класс fstream Можно на ассемблере сразу если охота есть и знания вышеупомянутого... Это сообщение отредактировал(а) azesmcar - 10.12.2004, 13:15 |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Те функции которые я привел некроссплатформенные, поэтому согласен с
azesmcar, CRT или STL надо.... --------------------
|
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Гы-гы
fopen, fwrite, fread, fgetpos, fseek... работают через CreateFile, ReadFile, WriteFile, CloseHandle покапайтесь в нутрях этих функций |
|||
|
||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 2 Всего: 39 |
Для cpp, самый простой это создать экземпляр класс ifstream, для записи в файл и ofstream для чтения из файла, при создании в конструктор передается имя файла, с которым буш работать. Краткий пример
Это самое простое, можешь поизучать методы и свойства данного класса, по-моему самый легки способ |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
bel_nikita
Конкретнее - Виндусская реализация этих функций ;) На линуксе они будут с евонным апи.. А CreateFile NtCreateFile вызывает ;) --------------------
|
|||
|
||||
| Гость_LuckLess |
|
|||
|
Unregistered |
Если под винду , то самый удобный ИМХО метод
createfile() или openfile() CreateFileMapping() MapViewOfFile() |
|||
|
||||
| LuckLess |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.9.2004 Репутация: 1 Всего: 1 |
Если под винду , то самый удобный ИМХО метод
createfile() или openfile() CreateFileMapping() MapViewOfFile() Добавлено @ 23:16 супер интуитивно имхо. Просто работаешь с файлом как с регионом адресного пространства.. |
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Ну и добавлю...
Fgetpos, Fseek, Fsetpos, Ftell --- все отвечают за изменение или получение позиции в файле... Добавлено @ 06:47 Ой, извиняюсь, наверно не заметил... |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Спасибо Друзья!
Я выбрал fstream - чудесная вещь... и интуитивная как я и просил... Но вот размер файла так и не узнать, а посимвольный пробег по всему файлу (с счётчиком) не этичен... Подскажите чисто filesize ф-цию... |
|||
|
||||
| bel_nikita |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
З.Ы.: не знаю, как там для STL стримов, что-то мало ими пользуюсь |
||||
|
|||||
| xach |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 22.10.2004 Где: СПб Репутация: нет Всего: нет |
Спасибо Большое!
Хотя если кто знает вариант покороче - милости прошу... |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
DWORD GetFileSize(
HANDLE hFile, LPDWORD lpFileSizeHigh ); |
|||
|
||||
| xach |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 22.10.2004 Где: СПб Репутация: нет Всего: нет |
Уважаемый azesmcar!
Поясните про список параметров и возвращаемое значение... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |