| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > файловые операции |
| Автор: Гость_Serj 25.12.2003, 01:09 |
| Подскажите, я открываю файл функцией "fopen", но мне нужно создать еще и файловое отображение из этого же файла. Для этого надо получить хэндл ф-цией "CreateFile". Но эта ф-ция не открывает уже открытый файл. Вот я и спрашиваю: как получить хэндл файла, открытого ф-цией "fopen", для послудующего создания файлового отображения. Спасибо. |
| Автор: gray_k 25.12.2003, 08:40 | ||
Нормально она открывает. Вот вполне рабочий код:
Тoлько вот зачем смешивать различные типы файлого ввода/вывода |
| Автор: gray_k 25.12.2003, 08:50 |
| Прошу прощения, я ошибся, хэндл то получил, а вот проверить, доступен ли файл по этому хэндлу не удосужился. Действительно CreateFile() в данном случае не работает, по крайней мере с такими флагами. Но замечание про смешивание двух типов доступа остаётся. |
| Автор: Гость_Serj 26.12.2003, 11:34 | ||
Дело в том, что у меня нет опыта програмирования на С++, а открытие файла ф-цией "fopen" вроде как дает возможность использовать "fprintf" для форматированного вывода в файл.
Ссылкакачает какой-то файл, который не открывается?? Так как же это все сделать !!! |
| Автор: Ars 26.12.2003, 12:22 | ||||
Сделать лучше через CreateFile. А для форматированного вывода есть куча функций вывода в буфер (wsprintf, sprintf и т.п.), а после заполнения этот буфер скидываешь в файл (WriteFile). Только будь внимателен с размером буфера и данных, которые ты в него пытаешься запихать. Наезд на память не есть good
Если ты пытался открыть этот файл, то, вероятно, уже словил виря. Не будь таким доверчивым и с подозрением относись к сливающимся файлам, которые ты не заказывал |
| Автор: NiJazz 26.12.2003, 20:54 | ||
|
| Автор: Ars 29.12.2003, 10:30 | ||
Всяко бывает, но опыт, который сын известно чего, уже не дает так легко попадаться. |