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

Задача "Работа со строками" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком слове изменить все буквы на заглавные. http://www.cyberforum.ru/cpp-beginners/thread616055.html
Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком слове изменить все буквы на заглавные.
C++ Построить график зависимости Помогите написать программу на С++ .Построить график зависимости расстояния от водной поверхности до верхней точки плавающего на воде тела от плотности материала данного тела, если это пирамида... http://www.cyberforum.ru/cpp-beginners/thread616048.html
Запустить функцию с именем из переменной C++
Всем доброго времени суток! Можно ли вызвать функцию, имя которой написано в переменной? Например, в ЯП AutoIt такая возможность есть (выглядит так: Execute("func_name(params)")). Делаю класс...
C++ Задачка на высокосный год
Дана структура, задающая дату вида: Struct date {int day; int month; int year;}; Пользуясь таким структурным типом, составить программу, определяющую: дату, которая наcтупит через m дней; ...
C++ Дан массив (codeblocks10.04) http://www.cyberforum.ru/cpp-beginners/thread616036.html
Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5. Не надо заводить ни каких вспомогательных массивов (в том числе и в своих функциях).есть ошибка которую...
C++ Найти сумму квадратов чисел. Сodeblocks 10.04 Найти сумму квадратов тех чисел a1, …, a100, которые не превосходят двух. Логика хромает. должно не превосходить двух, есть ошибка которую не могу исправить. помогите пожалуйста. #include... подробнее

Показать сообщение отдельно
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.06.2012, 10:49
Цитата Сообщение от xADMIRALx Посмотреть сообщение
Попробуйте
C++
1
2
3
setlocale(LC_ALL,".1251");
or
setlocale(LC_ALL,"Russian");
Не помогает. Может в свойствах проекта что-то поменять в разделе:"Набор символов"? Там есть выбор:"Не задано", "Использовать набор символов Юникода", "Использовать многобайтовую кодировку".
Попробовал поменять. Не помогло. Вывод и ввод русских букв на консоль или из консоли правильный, а коды отрицательные. Например:
C++
1
cout << (int)'ф' << endl;
выведет -12.

Добавлено через 4 часа 24 минуты
Явное приведение к unsigned char помогло. Ошибка при вводе русских символов

Добавлено через 24 минуты
И ещё, для информации.
Русские символы не кодируются отрицательными числами, это тип signed char их представляет, как отрицательные (код русских символов больше, чем 127, старший бит установлен в 1, знаковый тип переменной считает их отрицательным числом).
Возьми unsigned char и не будет отрицательных чисел.
Добавлено через 32 минуты
Или ещё вариант. Перейти на Юникод и использовать вместо, например, isalpha() iswalpha(), вместо cout wcout, вместо char wchar_t и т.д.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru