Программирование >>  Элементы языков с и с++ 

1 ... 62 63 64 [ 65 ] 66 67 68 ... 200


<::\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.



1 ... 62 63 64 [ 65 ] 66 67 68 ... 200

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика