|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.12.2010, 09:29 | #1 |
Пользователь
Регистрация: 14.09.2008
Сообщений: 61
|
Букву "я" принимает за EOF
Добрый день товарищи Сишники.
Нужно было написать прогу, для поиска ошибок в ассемблеровском коде, которая бы использовала бинарный поиск. Саму прогу я организовал, только на букву "я" она реагирует не так как хотелось бы. То есть если дать ей на вход след файл: Код HTML:
add dec jmp jnesd movo not pop push sub яxor Код HTML:
add,1 dec,2 jmp,3 [!..Error..!]: jnesd [!..Error..!]: movo not,6 [!..Error..!]: [!..Error..!]: pop,7 push,8 sub,9 [!..Error..!]: xor,10 Код:
Последний раз редактировалось Stilet; 09.12.2010 в 21:06. |
09.12.2010, 18:23 | #2 |
Пользователь
Регистрация: 14.09.2008
Сообщений: 61
|
Народ плиз, очень важно и очень нужно.
|
09.12.2010, 21:56 | #3 |
Пользователь
Регистрация: 24.11.2010
Сообщений: 80
|
Просто функции
isalnum stricmp не учитывают русский язык, а работают в пределах A-Z, a-z, 0-9 Последний раз редактировалось oleg.v; 09.12.2010 в 22:23. Причина: ю |
10.12.2010, 09:27 | #4 |
Пользователь
Регистрация: 14.09.2008
Сообщений: 61
|
Суть не в том. Я убрал этот кусок с isalnum.Он в общем то бесполезный.
Суть в том, что ASCII код этого символа "я"= -1. Причем непонятно что ему не нравится. Были предложения вместо char использовать unsigned char, но че то ошибка памяти вылетает, да и не совсем я понимаю что это даст. Нужны предложения как помочь ему понять "я"? Повторюсь,что с остальными русскими символами все гуд. Вот например: Входной: Код:
Код:
Код:
Код:
|
10.12.2010, 09:37 | #5 |
Форумчанин
Регистрация: 16.02.2009
Сообщений: 555
|
А так можете проверят букву "я".
Код:
|
10.12.2010, 09:55 | #6 |
Пользователь
Регистрация: 14.09.2008
Сообщений: 61
|
Так могу проверить, пишет что я. Но прикол в том, что EOF==(-1). То есть делать проверку на -1 и писать в файл Error не вариант. Надо именно эту "я" отловить, а конец файла оставить на месте.
Я понял чем может помочь unsigned char, неясно почему ошибочка памяти вылетает. Последний раз редактировалось qip2005; 10.12.2010 в 10:05. |
11.12.2010, 00:42 | #7 |
Пользователь
Регистрация: 24.11.2010
Сообщений: 80
|
Возможно я не правильно высказался. Попытаюсь объяснить.
Буква я в DOS(866) кодировке = EF в WIN(1251) кодировке = FF В шестнадцатеричном формате EF и FF. В первом случае оно её распознаёт во втором нет. Тоесть тут зависимоть от того как входной файл оформить. Если в DOS, то будет всё нормально. А если через виндовую кодировку то будет затык. |
11.12.2010, 00:53 | #8 |
:D
Форумчанин
Регистрация: 26.09.2010
Сообщений: 570
|
быть может, просто проверку на EOF убрать? или как-то переопределить 'я'
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery |
11.12.2010, 00:54 | #9 |
:D
Форумчанин
Регистрация: 26.09.2010
Сообщений: 570
|
вариант с getline() не катит?
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как обойти "преобразование типа из "string" в "float" невозможно" | lexluter1988 | Помощь студентам | 1 | 07.08.2010 12:23 |
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. | Каравай | Microsoft Office Excel | 13 | 17.02.2010 09:53 |
Дана строка, состоящая из нескольких слов. Найти количество слов, которые содержат хотя бы одну букву "А" | Mashaa | Помощь студентам | 13 | 09.12.2009 13:28 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |