|
Программирование >> Элементы языков с и с++
<::\WB )0WS\system32\cmd.exe Mfite to file I von String 1Цля продолжения нажмите любую клавишу . Vrice со file from String Рис. 9.4. Результат ввода через строку string Пример формирования файла методами класса File Текст программы показан в листинге 9.6, а результат работы на рис. 9.5. Листинг 9.6 2008-ВВОД через File.срр : main project file. ttinclude stdafx.h ttinclude <malloc.h> using namespace System; using namespace System::Text; using namespace System::10; int mainO UnicodeEncoding uni = gcnew UnicodeEncoding(); Encoding uAS = uni->ASCII; set(uAS: установка кодирования для консоли в ASCII System::Console::InputEncoding::set(uAS); System::Console::OpenStandardlnput(); открывает стандартное устройство ввода /♦освобождение ресурса от экземпляра с указателем fs. При освобождении ресурса файл закрывается*/ ) main О String name=L c: \\2008-String. txt ; StrearaWriter sw = File::CreateText( name ); создается поток для записи String з; while(1) I s = System::Console::ReadLine(); чтение строки символов с клавиатуры if (s== ) break; else sw->WriteLine (s); ) while для закрытия файла: в момент освобояздения ресурса файл закрывается delete (IDisposable) sw; C:\WIN00WSVsyst*m32\ nd.*) / the class File It netods С 200e-String - Блокнот .я продолжения нажмите любую клавишу Файл Правка Формат Вид Справка Using the class File and it metods Рис. 9.5. Результат работы методами класса File В языке С стандартный ввод можно перенаправлять на ввод из файла (мы уже видели, что это может делать функция f reopen ()). Если некоторая профамма с именем pl.exe использует функцию getchar о, то с помощью выполнения командной строки pl.exe < any FILE МЫ получим ввод не с клавиатуры, а из файла anyFILE. Командную строку можно выполнить с помощью системной функции system () В виде: system ( PI. EXE < ANYFILE ) ; i Листинг 9.7 35.срр : Defines the entry point for the console application. #include stdafx.h #include <stdio.h> ttinclude <conio.h> ttdefine eof 10 /*здесь введен признак конца файла: <Enter>*/ ttdefine no О ttdefine yes 1 ttdefine len 20 int tmain(int argc, char* argv[]) { int i=0; char m[len]; Причем символы должны быть верхнего регистра, т. к. выполняется команда DOS. Точно так же, как и для ввода, можно перенаправить стандартный вывод в файл. Если имеем программу p2.exe, которая использует стандартный вывод, то с помощью выполнения командной строки p2.exe > anyFILEl мы получим вывод в файл anyFILEl. Пример программ перенаправления ввода/вывода Приведем пример программ перенаправления ввода/вывода. Таких программ будет две: одна- вызываемая, в которой будет происходить стандартный ввод/вывод, а вторая - вызывающая, которая будет запускать первую с перенаправлением ввода/вывода. Для работы этих программ бьщ подготовлен файл C:\PROVERKA.TXT, в котором записана строка символов. Когда запускаем вторую (вызывающую) программу, она читает строку уже из текстового файла, а выводит тоже в текстовый файл, указанный при вызове вспомогательной программы, вывод которой перенаправляется. Вызываемая программа, вводящая данные с клавиатуры и выводящая резуль-! тат на экран, приведена в листинге 9.7.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |