![]() |
|
|
![]()
|
|
| ZPavel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
Мне нужно перебрать все символы в файле и найти те которых у меня нет в функции перекодировке. Но когда цикл while натыкается на маленькое 'я' , то проверка останавливается. Я понял, что он почему-то принимает маленькое 'я' за EOF. Помогите, как выйти из этого положения.
while((letter = fgetc(tempfile)) != EOF) //переберем все символы до конца файла { simvol=252; casesimvol (letter); //вызываем функцию перекодировки символов if (simvol <= 148) //подсчет символов i = i + 1; if (simvol==252) //если символ не найден { StatusBar1->Panels->Items[0]->Text=letter; Application->MessageBox("Неизвестный символ", "Передача текста", MB_OK); fclose(tempfile); //закроем файл return; //остановим передачу } } |
|||
|
||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 16 Всего: 39 |
letter объявляй как int
|
|||
|
||||
| JAnty |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 366 Регистрация: 6.12.2004 Где: Москва Репутация: 1 Всего: 2 |
Видемо вайл открыт как бинарный, потому и принемает 'я' как конец.
четай так:
Это сообщение отредактировал(а) JAnty - 31.3.2007, 17:52 -------------------- |
|||
|
||||
| ZPavel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
Спасибо, int помогло.
|
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 0 Всего: 23 |
код буквы char('я')=-1 (т.к. по умолчанию char считается знаковым)
EOF тоже равен -1
можно unsigned char похожая тема обсуждалась поиском пользуйся -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
||||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |