![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
![]() Продвинутый пользователь ![]() ![]() ![]() Группа: Posters Сообщений: 222 Регистрация: 28.11.2005 Из: Кугеси Пользователь №: 166 ![]() |
выложи 2 лабу по СИ пож-та
![]() |
|
|
![]() |
![]()
Сообщение
#2
|
|
![]() Мега постер ![]() Группа: Local moder Сообщений: 1,712 Регистрация: 21.8.2006 Пользователь №: 1,269 ![]() |
/*поморщился при упоминании об ofstream (и чем только fread/fwrite не угодили?)*/
Что есть ofstream, ifstream и fstream? Сие есть классы.. В программе объявляются объекты, экземпляры данного класса. Соотв. их можно передать в функцию, как было сказано выше - по ссылке, по указателю (да и вообще хоть копией объекта).. Если не принципиально - через глобальную переменную Сообщение отредактировал Amp - Oct 23 2006, 13:11 -------------------- |
|
|
![]()
Сообщение
#3
|
|
![]() Продвинутый пользователь ![]() Группа: Local moder Сообщений: 274 Регистрация: 22.12.2005 Из: КУГЕСИ Пользователь №: 215 ![]() |
/*поморщился при упоминании об ofstream (и чем только fread/fwrite не угодили?)*/ на счёт fread/fwrite : я их не изучал и по этому не знаю, в своей лит-ре посмарел , но ничё не нашел, если у тебя еть то дай скачать. Соотв. их можно передать в функцию, как было сказано выше - по ссылке, по указателю (да и вообще хоть копией объекта).. Если не принципиально - через глобальную переменную При указании ссылки по моему используется @. Первый вопрос: если объявляется файл (ofstream(<имя файла>)) то куды нужно @ ставить. Второй вопрос: как при таком объявлении передать в функцию. PS: зарание спасибо. -------------------- Товарищи, юноши, взгляд — на Москву,
на русский вострите уши! Да будь я и негром преклонных годов, и то без унынья и лени я русский бы выучил только за то, что им разговаривал ЛенинВладимир Маяковский |
|
|
![]()
Сообщение
#4
|
|
Пользователь ![]() ![]() Группа: Posters Сообщений: 116 Регистрация: 22.5.2006 Из: Чебоксары Пользователь №: 616 ![]() |
т.е. у меня функция открывает файл на запись(т.е. ofstream) , в этой же функции вызывается подфункция которая тоже работает с этом файлом, но чтобы работать с ним в подфункции компилятор требует указания этого файла и мне опять приходится писать ofstream(<имя файла>). ваще-то у меня нет Borland C++ чтоб проверить, но такой примерчик завалялся: Код // Файл PRNT.cpp #include <fstream.h> // ifstream, ofstream void my_func_line_output (ifstream *PRG, ofstream *LIST) { char CHR; // рабочий символ do // цикл строки { *PRG >> CHR; // чтение и запись символа *LIST << CHR; } while (CHR != '\n' && CHR != EOF); // конец строки } void main () { const LPG=10, // размер страницы NLEN=20; // максимальная длина имени файла ifstream PRG; // входной и выходной файлы ofstream LIST; char NAME[NLEN], // имя файла CHR; // рабочий символ int I,LEN,NoExist=0; // рабочие переменные int NextChar; // для обнаpужения конца файла LIST.open("PRN1.cpp"); // открытие выходного файла do // начало цикла входных файлов { cout << "\n Введите имя файла "; cin >> NAME; PRG.open(NAME); // открытие входного файла if (PRG) // обработка, если файл существует { while (PRG.get(CHR)) // цикл страниц { for (I=1; I<=LPG; I++) { // начало цикла страницы NextChar = PRG.peek(); if (NextChar == EOF) { cout << "\n Последняя стpаница - неполная \n"; goto STO; } else my_func_line_output(&PRG, &LIST); } // конец стpаницы } STO: cout << "КОНЕЦ ВЫДАЧИ ОДНОГО ФАЙЛА"; } else NoExist = 1; } while (!NoExist); // конец цикла входных файлов LIST.close(); } с виду вроде правильный ![]() |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 3rd July 2025 - 13:59 |