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

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


if(s = NULL) К

wprintf((const wchar t *) Insufficient memory available for s\n return(0);

const wchar t *name= (const wchar t *)maiioc(1024) ; if (name == NULL) (

wprintf( (const wchar t *) Insufficient memory available for name\n ) ;

return (0);

name=L c:\\2008-Uni.txt ; FILE *fp;

errno t err;

if{ (err = fopen s( &fp, name, w )) !=0 ) if( (fp = wfopen( name, L w )) == NULL ) I

wprintf(L Open File ErrorVn ); return(0);

while(1) (

v :har t *p=fgetws ( s, 1024, stdin ); читает в строку s из файла (здесь fp=stdin и файл всегда открыт)

if( р == NULL)

wprintf(L fgets error\n ); return (0);

if(*p == eof) ввод строк завершен

fclose(fp); закрытие файла return(О); )

mt i=fputws(s,fp); выводит строку s в файл fp



if(i < 0) i

wprintf(L fputs error\n ); return(0);

) while

C:\WIN0OWS\system32V:md.exe

iM>rl<ing with 4cbar t type

Для продолжения нажмите любую клавишу

Г 2008-Uni Блокнот

Файл Правка Формат Вид Справка

working with !wchar t type

Рис. 9.3. Работа с типом wchar t по вводу в файл

Пример формирования файла из строк типа String

Текст программы показан в листинге 9.5, а результат работы - на рис. 9.4.

1. Листинг 9.5

2008-ВВОД через String.срр : main project file. #include stdafx.housing namespace System; , using namespace System::10; using namespace System::Text;

int mainO {

String path = c:\\MyTest.doc ;

Filelnfo fi = gcnew FileInfo( path ); /*класс обеспечивает методами

работы с файлами, конструктор создает указатель к файлу */



FileStream f s = f i->OpenWrite () ;

/*метод создает для записи объект типа FileStream. Методы этого объекта используются для работы с файлами */

while(1) * 1

String s = System:: Console: :ReadLine О ; чтение строки символов с консоли (клавиатуры) if(s== ) признак конца ввода строк - <Enter> break;

array<Byte>info = (gcnew UTFSEncoding ( true ))->GetBytes ( s ); array<Byte> b = gcnew array<Byte> (1) (\n}; переход на

новую строку

преобразование прочитанной строки в массив байтов т.к. метод fs->Write(), используемый для записи строки, требует на входе однобайтового массива символов, получение которых обеспечивает конструктор класса UTFSEncoding, класса, который представляет формат UTF-8 (Unicode Transfer Format 8-битовый) символов Юникода /

fs->Write( info. О, info->Length ); запись с 0-го элемента

массива с начала файла fs->Write( b. О, b->Length ); ввод конца строки

) while if ( fs )

delete (IDisposable)fs;

II если файл не существует, он создается: if ( !fi->Exists ) {

fi-x:reate() ;



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

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