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

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

Войти
Регистрация
Восстановить пароль
 
Alexanches
86 / 7 / 1
Регистрация: 04.06.2010
Сообщений: 80
#1

Маленький вопрос по работе с файлами - C++

26.01.2011, 23:38. Просмотров 488. Ответов 7
Метки нет (Все метки)

очень глупый к тому же)
есть
C++
1
2
FILE * f=fopen(filename,"r");
FILE* F;
как мне присвоить*F=*f? заранее спасибо)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2011, 23:38     Маленький вопрос по работе с файлами
Посмотрите здесь:

Вопрос по работе с файлами - C++
Пока i-=2 не вставил, выводила пустую строку в результате. Почему так? Что за 2 знака перед eof() мешали? int main(int argc, char*...

Вопрос по работе с файлами в Visual Studio - C++
Написал программу для работы с файлом в Visual Studio. Iostream подключил. Но такие вот привычные записи, как, например, ifstream...

Работа с файлами (найти маленький косяк) - C++
Помогите найти косяк в программе. Нужно считать слов с одного файла и перезаписать их в обратном порядке в другой файл. Считывание файла я...

Вопрос по работе с массивами - C++
Уважаемые! Пишу программу на Си разбиения текста на страницы, возник вопрос как в двумерный массив после каждой десятой строки вставить...

Совет по работе с файлами - C++
надо написать программу, которая считывает данные из текстового файла в структуру с 4-мя полями, типа однонаправленный список, а потом...

Подскажите по работе с файлами - C++
struct MyStruct { char * Nam; unsigned int Salary; }; MyStruct emp; *emp.Nam="Ivan Ivanov"; emp.Salary=109000; ...

Дополнение к работе с файлами - C++
Здравствуйте, ситуация довольно глупая, но умудрились почти поссориться с товарищем из группы. Вот кусок кода #include <iostream> ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9460 / 5473 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
26.01.2011, 23:58     Маленький вопрос по работе с файлами #2
Цитата Сообщение от Alexanches Посмотреть сообщение
как мне присвоить*F=*f? заранее спасибо)
В смысле, как сам файл в другой скопировать? Временный файл создать? Назначение этой манипуляции объясните, пожалуйста. А пока вот на всякий случай почитайте...
Alexanches
86 / 7 / 1
Регистрация: 04.06.2010
Сообщений: 80
27.01.2011, 00:00  [ТС]     Маленький вопрос по работе с файлами #3
нужно создать копию для работы с ней)
Iron Bug
22 / 22 / 0
Регистрация: 06.12.2010
Сообщений: 125
27.01.2011, 00:05     Маленький вопрос по работе с файлами #4
а зачем копировать эту структуру?
проблема в том, что файл - это поток. и структура отражает состояние указателей в этом потоке. что тебе даст копирование структур?

Добавлено через 3 минуты
Цитата Сообщение от Alexanches Посмотреть сообщение
нужно создать копию для работы с ней)
довольно странная задумка. можно просто скопировать указатель. хотя всё равно неясно, зачем.
Alexanches
86 / 7 / 1
Регистрация: 04.06.2010
Сообщений: 80
27.01.2011, 00:09  [ТС]     Маленький вопрос по работе с файлами #5
в общем ладно)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 {
                 System::String^ str;
                 this->openFileDialog1->ShowDialog();
                 str=this->openFileDialog1->FileName;
                 char b[256];
                 MyConvert::copyto(b,str,255);
                 FILE* f=fopen(b,"r");
                 while(!feof(f))
                 {
                    _current=(_current->input(f));
                    t->insert(_current);            
                 }
                 t->output(listView1);
                 fclose(f);
             }
цикл проходит лишний оборот) в инпуте вызываю fgets..нужно чтобы он останавливался а оборот раньше чем сейчас)

Добавлено через 1 минуту
Цитата Сообщение от Iron Bug Посмотреть сообщение
а зачем копировать эту структуру?
проблема в том, что файл - это поток. и структура отражает состояние указателей в этом потоке. что тебе даст копирование структур?

Добавлено через 3 минуты


довольно странная задумка. можно просто скопировать указатель. хотя всё равно неясно, зачем.
как бы изменяя 1 файл будет меняться и другой- указатель-то 1..
Iron Bug
22 / 22 / 0
Регистрация: 06.12.2010
Сообщений: 125
27.01.2011, 00:17     Маленький вопрос по работе с файлами #6
fseek(), fgetpos(), fsetpos()
ну и вообще в stdio.h много прочих полезных функций.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
27.01.2011, 06:08     Маленький вопрос по работе с файлами #7
Цитата Сообщение от Alexanches
цикл проходит лишний оборот)
C++
1
while(!feof(f))
неправильная конструкция, даже когда нормально работает
в ней неявная ошибка, которая может всплыть спустя некоторое время

представь, что у тебя чтение файла происходит с флешки, и однажды на неё пролили воду, и никто об этом не знает
файл может открыться даже, и даже читаться, но дойти до повреждённого участка и что потом ?
и потом эта штука, вместо того, чтобы сообщить, что чтение невозможно, просто повиснет, потому что будет ожидать конец файла, который никогда не наступит

Цитата Сообщение от Alexanches
нужно создать копию для работы с ней)
ты делаешь функции и просто передаёшь в них адрес этой структуры
сейчас он в f, его также можно поместить в F через F = f, но помни, что файл можно закрывать только один раз
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2011, 23:37     Маленький вопрос по работе с файлами
Еще ссылки по теме:

Ошибка при работе с файлами - C++
Необходимо, создать текстовый файл со случайным именем в диапазоне 8 символов, латиница. Вот код: int main() { ...

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

Ошибка при работе с файлами - C++
Всем привет! Подккажите, плиз, что у меня неправильно в коде: #include <cstdlib> #include <stdio.h> #include <stdlib.h> #include...

Информация по работе с бинарными файлами - C++
У меня возникла проблема при работе с бинарными файлами, вернее нет инфо чтоб почитать, да и хелп скуден, вышлите по мылу или скиньте сюда...

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


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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
9460 / 5473 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
27.01.2011, 23:37     Маленький вопрос по работе с файлами #8
Цитата Сообщение от Alexanches Посмотреть сообщение
нужно создать копию для работы с ней)
если "с ней" в смысле - с копией файла, которая по завершении программы должна удаляться, то вот например: man tmpfile - копируете в него свой файл, и работаете с ним, как с обычным файлом... Если файлы в принципе не большие, то ещё лучше их целиком в память как массив байтов копировать и с ним работать...
Yandex
Объявления
27.01.2011, 23:37     Маленький вопрос по работе с файлами
Ответ Создать тему
Опции темы

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