Форум программистов, компьютерный форум CyberForum.ru

isalnum ошибка - C++

Восстановить пароль Регистрация
 
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 317
Записей в блоге: 1
17.05.2013, 22:43     isalnum ошибка #1
ребят всегда когда использую isalnum натыкаюсь на ошибку(работает она правильно, но ошибка напостой вылетает). в чем проблема???

---------------------------
Microsoft Visual C++ Debug Library
---------------------------
Debug Assertion Failed!
Program: ...и документы\Visual Studio 2010\Projects\test1\Debug\test1.exe
File: f:\dd\vctools\crt_bld\self_x86\crt\src\isctype.c
Line: 56
Expression: (unsigned)(c + 1) <= 256
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
---------------------------
Прервать Повтор Пропустить
---------------------------
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2013, 22:43     isalnum ошибка
Посмотрите здесь:

C++ Вылетает ошибка error C2061: синтаксическая ошибка: идентификатор "_TCHAR"
Ошибка в конструкторе с параметром. Компилятор не ругается, но при запуске программы возникает ошибка C++
C++/CLI WinForms Ошибка с графикой в приложении Windows form (ошибка не в коде!)
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка C++
C++ Укажите где ошибка (ошибка во время выполнения программы)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.05.2013, 06:30     isalnum ошибка #2
Цитата Сообщение от Miwa123 Посмотреть сообщение
в чем проблема???
Проблема в русских символах. Когда используете функции ссtype с русскими символами, приводите параметр, передаваемый в функцию, к unsigned char. Например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <cctype>
#include <iostream>
 
int main()
{
    setlocale(0, "");
    
    char ch;
    std::cin >> ch;
    if (isalnum((unsigned char)ch)) std::cout << "true" << std::endl;
    else std::cout << "false" << std::endl;
 
    system("pause");
    return 0;
}
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 317
Записей в блоге: 1
18.05.2013, 08:24  [ТС]     isalnum ошибка #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Проблема в русских символах. Когда используете функции ссtype с русскими символами, приводите параметр, передаваемый в функцию, к unsigned char. Например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <cctype>
#include <iostream>
 
int main()
{
    setlocale(0, "");
    
    char ch;
    std::cin >> ch;
    if (isalnum((unsigned char)ch)) std::cout << "true" << std::endl;
    else std::cout << "false" << std::endl;
 
    system("pause");
    return 0;
}
без использования русских символов выдает ошибку!
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.05.2013, 08:29     isalnum ошибка #4
Цитата Сообщение от Miwa123 Посмотреть сообщение
без использования русских символов выдает ошибку!
Этот код? Проект какой?
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 317
Записей в блоге: 1
18.05.2013, 09:33  [ТС]     isalnum ошибка #5
спасибо, разобрался. я место для последнего символа разрыва строки забыл зарезервировать... из-за его проверки возникала ошибка
Yandex
Объявления
18.05.2013, 09:33     isalnum ошибка
Ответ Создать тему
Опции темы

Текущее время: 05:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru