|
Программирование >> Элементы языков с и с++
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() ;
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |