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

toupper, tolower, strlen и кириллица - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка предположительно в strncpy(word, p1, len) http://www.cyberforum.ru/cpp-beginners/thread943018.html
Есть простенький обучающий пример: #include "stdafx.h" #include <iostream> #include <ctype.h> #include <string.h> using namespace std;
C++ realloc #include <iostream> using namespace std; int main() { int size=0; cout<<"enter size array: "; cin>>size; int *arr; http://www.cyberforum.ru/cpp-beginners/thread943001.html
C++ Посоветуйте литературу для изучения C++
Хоу, форумчане. Недавно начал изучать с++, сейчас читаю какие-то онлайн курсы, но там только базовая информация. Посоветуйте книгу какуюнибудь хорошую Сейчас изучаю вот эти уроки: http://www.programmersclub.ru/main/
C++ linker error в dev-c++
Здравствуйте, я написал этот код, но никак не могу скомпилировать. Писал по книжке. #include <windows.h> #include <gl/glut.h> using namespace std; void init(void) {
C++ Задачи на тему "указатели" http://www.cyberforum.ru/cpp-beginners/thread942983.html
Нужны задачки для закрепления темы "указатели". Проходил тему по Шилдту и частично по Девису. Пробовал решать задачи у Дейтела, но они слишком мудреные.
C++ Разработать программу для реализации основных действий с двунаправленным динамическим списком (я правильно составила код?) Разработать программу для реализации основных действий с двунаправленным динамическим списком: проход по списку в ПРЯМОМ направлении с выводом на экран информационных частей элементов поиск элемента в ОБРАТНОМ направлении с заданной информационной частью добавление нового элемента ПОСЛЕ заданного удаление заданного элемента. Все действия оформляются как подпрограммы. Программная... подробнее

Показать сообщение отдельно
Somilya
3 / 3 / 0
Регистрация: 19.01.2013
Сообщений: 10

toupper, tolower, strlen и кириллица - C++

24.08.2013, 16:19. Просмотров 4790. Ответов 12
Метки (Все метки)

Эти три функции не хотят нормально работать с кириллицей. Если им скормить американские литеры, все нормально. Но вот, например, эта программа печатает "тест", а по-идее должна "ТЕСТ".

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Преобразование строчных символов в заглавные.
 
#include <iostream>
#include <cstring>
#include <cctype>
using namespace std;
 
int main()
{
    char str[80];
    int i;
    
    strcpy(str, "тест");
    
    for (i = 0; str[i]; i++)
        str[i] = toupper(str[i]);
    
    cout << str << endl;
    
    return 0;
}
Также strlen("тест!") возвращает девять символов (каждый русский считается за два). Компилятор g++.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru