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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 186, средняя оценка - 4.61
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
#1

Стандартное определение длины строки в С++ - C++

08.05.2009, 19:41. Просмотров 24343. Ответов 43
Метки нет (Все метки)

Есть такой массив:
C++
1
char massive[]="что-то там"
Нужна функция из стандарта С++ для определения длины строки.Почему sizeof(massive)==19?На моём компьютере русские символы занимают два байта+1 байт на пробел?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2009, 19:41     Стандартное определение длины строки в С++
Посмотрите здесь:
C++ Определение длины строки
Неверное определение длины строки C++
C++ Определение длины заранее неопределенной строки
C++ Ввод строки, определение ее длины, и удаление в ней всех пробелов
C++ Какие методы класса fstream отвечают за определение количества строк в файле и длины строки?
C++ Ошибки (в файле содержатся строки разной длины - записать их в выходной файл в порядке возрастания длины строки)
Текстовый файл содержит строки – предложения разной длины. Записать их в выходной файл в порядке возрастания длины строки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
08.05.2009, 23:59  [ТС]     Стандартное определение длины строки в С++ #31
Не помогает.
Evg
Эксперт CАвтор FAQ
17543 / 5781 / 370
Регистрация: 30.03.2009
Сообщений: 15,921
Записей в блоге: 26
09.05.2009, 00:14     Стандартное определение длины строки в С++ #32
Цитата Сообщение от #pragma Посмотреть сообщение
Вот здесь
Пардон, не "длине указателя", а "длине инициализатора". Что-то у меня уже пальцы заплетаются...
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
09.05.2009, 00:26  [ТС]     Стандартное определение длины строки в С++ #33
Цитата Сообщение от ISergey Посмотреть сообщение
Должно быть 4.
C++
1
2
cout<<sizeof(L'Я')<<endl;//2
cout<<sizeof(L"Я")<<endl;//4
C++
1
2
std::cout<<sizeof(L'Я')<<std::endl;//==4!
std::cout<<sizeof(L"Я")<<std::endl;//==8!
Но это просто особенности моего компа,ничего не должно,так как на разных компах же по-разному,а разве это то же самое: L"Я" и "Я"?
Alexiski
Любитель давать советы
339 / 131 / 2
Регистрация: 12.01.2009
Сообщений: 511
09.05.2009, 00:41     Стандартное определение длины строки в С++ #34
Нет, не то же самое. L"Я" кодируется в wide-char, а они в Linux - ровно 4 байта
А просто "Я" - вероятно, в UTF-8 - переменный размер символа от 1 байта.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
09.05.2009, 16:18     Стандартное определение длины строки в С++ #35
Цитата Сообщение от #pragma Посмотреть сообщение
Тогда почему Код C++1
sizeof("Я")==3??
может у тебя компилятор кирилицу как Unicode воспринимает
Spaum145
2 / 2 / 0
Регистрация: 23.08.2009
Сообщений: 21
02.06.2011, 14:06     Стандартное определение длины строки в С++ #36
В двойных кавычках передался в функцию не символ, а его числовое значение, код символа
Artemeey
0 / 0 / 1
Регистрация: 15.09.2013
Сообщений: 7
15.09.2013, 18:07     Стандартное определение длины строки в С++ #37
На самом деле:
1) 'a' - это символ
2) "a" - это строка, в памяти хранится как 2 символа: 'a' и '\0'
3) В добавок ко всему этому кодировка. Однако при просчете кодировки, не забывайте о последнем символе - символе конца строки '\0'.
Croessmah
15.09.2013, 18:27
  #38

Не по теме:

Два года тишины и вдруг просветление...

Artemeey
0 / 0 / 1
Регистрация: 15.09.2013
Сообщений: 7
15.09.2013, 18:30     Стандартное определение длины строки в С++ #39
Лучше поздно чем никогда, верно?
Croessmah
15.09.2013, 18:59
  #40

Не по теме:

Цитата Сообщение от Artemeey Посмотреть сообщение
Лучше поздно чем никогда, верно?
смотря о чем речь

Evg
Эксперт CАвтор FAQ
17543 / 5781 / 370
Регистрация: 30.03.2009
Сообщений: 15,921
Записей в блоге: 26
15.09.2013, 22:51     Стандартное определение длины строки в С++ #41
Цитата Сообщение от Artemeey Посмотреть сообщение
Лучше поздно чем никогда, верно?
"Лучше поздно, чем никогда", - подумал мужик, положив голову на рельсы и глядя вслед уходящему поезду
Artemeey
0 / 0 / 1
Регистрация: 15.09.2013
Сообщений: 7
15.09.2013, 23:28     Стандартное определение длины строки в С++ #42
Цитата Сообщение от Evg Посмотреть сообщение
"Лучше поздно, чем никогда", - подумал мужик, положив голову на рельсы и глядя вслед уходящему поезду
Нафига я вообще ответил... тут типо программеры что-ли тусят от нечего делать? Я думал это кому то надо.
Evg
Эксперт CАвтор FAQ
17543 / 5781 / 370
Регистрация: 30.03.2009
Сообщений: 15,921
Записей в блоге: 26
16.09.2013, 09:13     Стандартное определение длины строки в С++ #43
Цитата Сообщение от Artemeey Посмотреть сообщение
Нафига я вообще ответил... тут типо программеры что-ли тусят от нечего делать? Я думал это кому то надо.
Действительно. На трёх страницах всё уже расписали и на все вопросы ответили, а потом 4 года ждали тебя, чтобы поставить финальную точку. Спасибо тебе, отец-кормилец, как бы мы без тебя дальше жили, что делали...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2013, 09:43     Стандартное определение длины строки в С++
Еще ссылки по теме:
Текстовый файл содержит строки – предложения разной длины. Записать их в выходной файл в порядке возрастания длины строки C++
C++ Определение длины подпоследовательности
Определение длины файла в С C++
C++ Определение длины массива в C++ в функции
C++ Определение длины одномерного массива

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

Или воспользуйтесь поиском по форуму:
Artemeey
0 / 0 / 1
Регистрация: 15.09.2013
Сообщений: 7
16.09.2013, 09:43     Стандартное определение длины строки в С++ #44
Тут темы не закрываются?

Добавлено через 8 минут
Цитата Сообщение от Evg Посмотреть сообщение
Действительно. На трёх страницах всё уже расписали и на все вопросы ответили, а потом 4 года ждали тебя, чтобы поставить финальную точку. Спасибо тебе, отец-кормилец, как бы мы без тебя дальше жили, что делали...
Я уже отметил, что я зря его написал.. Я не видел ответа на 2 странице. Тут все такие душные.. (не все конечно же )
Yandex
Объявления
16.09.2013, 09:43     Стандартное определение длины строки в С++
Ответ Создать тему
Опции темы

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