Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Интересное:
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Дисциплины:
2018-01-03 | 168 |
5.00
из
|
Заказать работу |
|
|
В приводимой далее программе открываются два файловых потока: один на чтение, другой на запись. Из входного файла производится построчное чтение, прочитанные строки выводятся на экран и в выходной файл. После чтения каждых 20 строк программа останавливается и ждет нажатия клавиши Enter.
// Файл CopyFile.cpp
// Файловый ввод и вывод
#include <fstream.h>
#include <conio.h>
#include <stdlib.h> // Для exit
const int PAGE = 20; // Максимальное число строк на странице
const int MAXLEN = 200; // Максимальная длина строки
const int LenName = 13; // Длина строки с именем файла
void main()
{
ifstream fin; // Файловый поток для ввода
ofstream fout; // Файловый поток для вывода
char filename[LenName]; // Массив для имени файла
char line[MAXLEN]; // Массив для строк
cout << "\nВведите имя входного файла ";
cin >> filename;
fin.open(filename);
if(!fin){ // Если не удалось открыть входной файл
cerr << "Не удалось открыть файл " << filename;
exit(1);
}
cout << "\nВведите имя выходного файла ";
cin >> filename;
fout.open(filename);
if(!fout){ // Если не удалось открыть выходной файл
cerr << "Не удалось открыть файл " << filename;
exit(1);
}
int i = 0; // Количество прочитанных строк
cin.get(); // Убираем код из cin
while(!fin.eof()){ // Пока не достигнут конец файла
fin.getline(line, MAXLEN); // Чтение строки из файла
i++; // Увеличение счетчика
cout << line << '\n'; // Вывод строки на экран
fout << line << '\n'; // Вывод строки в файл
if(i % PAGE == 0) // Если выведена очередная страница,
cin.get(); // ждем нажатия клавиши Enter
}
fin.close(); // Закрытие входного файла
fout.close(); // Закрытие выходного файла
getch();
}
Программа запрашивает имя входного файла и пытается открыть его на чтение. При открытии файла возможна неудача, например из-за неправильно указанного имени, в этом случае программа завершается вызовом exit.
|
Если входной файл удалось открыть, запрашивается имя выходного файла и он открывается на запись. Здесь тоже возможна неудача, например, потому, что файл с указанным именем существует и открыт другой программой. В этом случае также вызывается функция exit, которая корректно завершит программу, закрыв ранее открытый входной файл.
Предварительный вызов cin.get() перед циклом while нужен по следующей причине. При выполнении инструкции:
cin >> filename;
оператор >> пропускает начальные пробелы, затем читает символы имени файла и заносит их в массив filename. Чтение набранных на клавиатуре символов заканчивается при поступлении любого пробельного символа, в том числе символа “новая строка”, который остается в буфере клавиатуры. Именно этот символ и извлекается из буфера с помощью cin.get(). Если этого не сделать перед циклом, то новая строка будет прочитана внутри цикла, в результате на экран будут выведены две порции из PAGE строк, а не одна.
Командная строка
Командная строка позволяет взаимодействовать с операционной системой путем ввода различных команд. В операционной системе DOS командная строка была основным способом управления компьютером, что было неудобно тем, что приходилось запоминать названия большого числа команд и их параметры. В операционной системе Windows командная строка скрыта за графическим интерфейсом, который спроектирован так, чтобы быть интуитивно понятным и не требовать от пользователя знания команд операционной системы. Однако командная строка не исчезла совсем. Она связана с любым ярлыком на Рабочем столе Windows и запускает программу, связанную с этим ярлыком. Ее можно увидеть, посмотрев свойства ярлыка.
В Windows оставлена возможность непосредственно запускать программы с помощью командной строки в окне, моделирующем работу DOS, которое открывается командой Пуск, Программы, Стандартные, Командная строка. Для однократного выполнения какой либо команды можно командой Пуск, Выполнить открыть окно Запуск программы, рис.24, где ввести командную строку или вручную, или выбрав нужную программу с помощью кнопки Обзор. На рис.24 показана командная строка для запуска программы 13, расположенной в файле Receipts.exe.
|
Рис.24. Запуск программы с помощью командной строки
При работе в TC программы можно запускать непосредственно из интегрированной среды командой меню Run, Run или комбинацией клавиш Ctrl+F9, но иногда нужно опробовать запуск программы из командной строки. Для этого в TC предусмотрен выход в среду операционной системы с помощью команды File, DOS shell. После выполнения данной команды будет предъявлен текстовый экран, внизу которого расположена командная строка с курсором, рис.25. Здесь можно вводить команды и запускать их на выполнение нажатием Enter.
Рис.25. Экран Dos shell в TC
Команда dir выводит на экран полное содержимое текущего каталога. Чтобы показать нужную группу файлов, в команде dir следует указать маску файлов, например, команда
...> dir *.exe
выведет имена исполняемых файлов. Звездочка в командах заменяет произвольный набор символов в именах файлов. Результат выполнения этой команды виден на рис. 25.
Любую из созданных программ можно выполнить, набрав ее имя в командной строке, например, команда
…>AllocMem.exe
запустит на выполнение программу AllocMem.exe. Заметим, что DOS считает большие и малые буквы одинаковыми.
Для возврата из режима командной строки в среду TC нужно выполнить команду exit.
|
|
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!