ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Общий форум

Проблема с C#!!!
Послано Igor Goroshko 14 окт 2008 20:21
Подскажите, пожалуйста, как в C# посимвольно, до конца файла, считать данные?

что-то типа этого (на С++):
while((ch=getchar())!=EOF)
{
// ...
}

Пробовал на C# так:
while((ch=(char)Console.Read())!='\0')
{
// ...
}
не получается, TLE на первом тесте =(((
Re: Проблема с C#!!!
Послано penartur 14 окт 2008 23:06
например:
--
int ic;
while((ic=Console.Read()) >= 0) {
 ch = (char)ic;
 //...
}
--
Console.Read() возвращает код считанного символа (не сам символ!) или -1 при достижении конца потока.
У вас же идёт проверка на то, не считали ли мы нулевой символ. Она не пройдёт, если в файле лежит байт 0x00; и свалится с исключением о невозможности преобразовать тип (или, как, видимо, и вышло - пройдёт вашу проверку), если считана была -1.
Re: Проблема с C#!!!
Послано Igor Goroshko 14 окт 2008 23:15
penartur,
Спасибо Большое!!!

ЗЫ. Извиняюсь что не на английском...

Edited by author 14.10.2008 23:16
Re: Проблема с C#!!!
Послано penartur 15 окт 2008 00:51
Вообще, стоит читать документацию, там всё это расписано.
Онлайн: http://msdn.microsoft.com
Автономная версия: http://www.microsoft.com/downloads/details.aspx?FamilyID=7bbe5eda-5062-4ebb-83c7-d3c5ff92a373&DisplayLang=en