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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AntyDES
-1 / 0 / 0
Регистрация: 07.04.2011
Сообщений: 6
#1

strlen("Русский текст") - C++

07.04.2011, 18:48. Просмотров 880. Ответов 2
Метки нет (Все метки)

Скорее всего данный вопрос уже поднимался...

strlen("Русский текст") не может правильно обработать кириллицу.

Латинские символы занимают один байт, а русские - два байта. Знаю что проблема в кодировке, но не знаю как устранить проблему. Символы вывода и ввода отоброжаются нормально.

P.S.: Windows Vista, NetBeans + cygwin
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2011, 18:48     strlen("Русский текст")
Посмотрите здесь:

При экспорте кода в PDF русский текст заменяется на знак "?" - C++
Здравствуйте. Семинарист сказал сдавать ему проги в печатном виде (сказал он, а стыдно мне). Код тупо вставлять в ворд не хочу, не...

Ошибка "Необработанное исключение" в программе с strlen и strtok - C++
Из заданной текстовой строки распечатать только те слова, которые начинаются и оканчиваются одной и тоже буквой, используя функции...

Напечатать заданный непустой текст удалив из него все цифры и удвоив все знаки "+" и "-" - C++
напечатать заданный непустой текст удалив из него все цифры и удвоив все знаки "+" и "-"

Дан текст. Стереть все символы "*", встречающиеся в тексте - C++
Задача: Дан текст. Стереть все символы *, встречающиеся в тексте. Текст вводим самостоятельно. Группы символов, разделенные пробелами...

Дан текст, определить количество слов "кот" - C++
Всем привет! Вообщем мне дали практическую из десяти задач.. Осталось сделать 2 шт. Задача 70. Дано текст, определить количество...

Написать текст функции strcat(), "склеивающей" две текстовые строки - C++
4. Написать текст функции strcat(), "склеивающей" две текстовые строки. Функция принимает указатели на две строки s1 и s2, выделяет память...

Шифрование-Дешифрование - После дешифрования, текст "сползает" со своих мест - C++
Добрый ночи! Понадобилось добавить режим шифрования-дешифрования в курсовую работу. Накидал для примера, где застрял с проблемой. ...

Ошибка работы с классом ("функция.уже имеется текст реализации") - C++
Здравствуйте. Я новичок в C++, и в программировании в целом. Помогите пожалуйста. Хочу применить в проекте SDL 2.0. Конечная цель,...

Вывести текст в виде "бегущей строки" в центре экрана снизу вверх - C++
Ввести с клавиатуры текст произвольного размера и после нажатия <Еnter> вывести его в виде "бегущей строки" в центре экрана снизу вверх....

Зашифровать текст "Hello people!" в символы в Visual C++. - C++
Добрый день, мне нужна помощь, надо зашифровать текст "Hello people!" в символы в Visual C++.

Тема "Строки" Задан текст. Распечатать все слова, содержащие заданный символ. - C++
Нужна програмулька на C++ которая из заданного текста. Распечатает все слова, содержащие заданный символ. Заранее спасибо! :kissing:

Выведите на экран текст "To be or not to be" \Shakespeare\ - C++
Всем привет! Народ помогите с задачкой, нужно сделать в Microsoft Visual Studio. Задача: Выведите на экран следующий текст: "To...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
iama
1249 / 974 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
07.04.2011, 18:52     strlen("Русский текст") #2
C++
1
setlocale(LC_CTYPE, "rus.1251");
AntyDES
-1 / 0 / 0
Регистрация: 07.04.2011
Сообщений: 6
07.04.2011, 19:28  [ТС]     strlen("Русский текст") #3
Цитата Сообщение от iama Посмотреть сообщение
C++
1
setlocale(LC_CTYPE, "rus.1251");
Не помогло. Также не помогает ни setlocale(LC_ALL, "Russian"); ни setlocale(LC_CTYPE, "rus.1251");. Что с ними, что без них - результат одинаковый.

Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
#include <iostream>
#include <string.h>
using namespace std;
int main(int argc, char** argv) {
    char* text = "Кириллица";
    cout << text << " [" << strlen(text) << "]\n";
}
Код
Кириллица [18]
Для закрытия терминала нажмите [Enter]...
Yandex
Объявления
07.04.2011, 19:28     strlen("Русский текст")
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru