|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
||||||
Стандартное определение длины строки в С++08.05.2009, 19:41. Показов 31602. Ответов 43
Метки нет (Все метки)
Есть такой массив:
0
|
||||||
| 08.05.2009, 19:41 | |
|
Ответы с готовыми решениями:
43
Определение длины той части строки s, которая не содержит символы из строки s1 Определение длины строки
|
|
|
||||||||||||
| 08.05.2009, 22:59 | ||||||||||||
|
Давай немного поясню. Когда ты делаешь инициализацию массива без указания длины, то его размер становится равным длине указателя
1
|
||||||||||||
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
|
| 08.05.2009, 23:15 [ТС] | |
|
Evg, а что такое длина указателя?размер занимаемой памяти? Это только у меня в системе так?То есть в моей системе длина указателя на символ в юникоде(а "Я" вюникоде) занимает 2 байта,и поэтому размер массива удваивается?
"Вы отправили слишком большое кол-во отзывов за 24 часа"
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
| 08.05.2009, 23:16 | ||||||
Сообщение было отмечено как решение
Решение
The ASCII character set defines characters in the range 0x00 – 0x7F. There are a number of other character sets, primarily European, that define the characters within the range 0x00 – 0x7F identically to the ASCII character set and also define an extended character set from 0x80 – 0xFF. Thus an 8-bit, single-byte-character set (SBCS) is sufficient to represent the ASCII character set as well as the character sets for many European languages. However, some non-European character sets, such as Japanese Kanji, include many more characters than can be represented in a single-byte coding scheme, and therefore require multibyte-character set (MBCS) encoding. Note Many SBCS routines in the Microsoft run-time library handle multibyte bytes, characters, and strings as appropriate. Many multibyte-character sets define the ASCII character set as a subset. In many multibyte character sets, each character in the range 0x00 – 0x7F is identical to the character that has the same value in the ASCII character set. For example, in both ASCII and MBCS character strings, the one-byte NULL character ('\0') has value 0x00 and indicates the terminating null character. A multibyte character set may consist of both one-byte and two-byte characters. Thus a multibyte-character string may contain a mixture of single-byte and double-byte characters. A two-byte multibyte character has a lead byte and a trail byte. In a particular multibyte-character set, the lead bytes fall within a certain range, as do the trail bytes. When these ranges overlap, it may be necessary to evaluate the particular context to determine whether a given byte is functioning as a lead byte or a trail byte. Иными словами в вашем случае "Я" - является MBCS(не путайте с Unicode) строкой, где символ 'Я' - занимает 2 байта, а символ '0' - один байт.
3
|
||||||
|
Любитель давать советы
342 / 135 / 14
Регистрация: 12.01.2009
Сообщений: 511
|
|
| 08.05.2009, 23:20 | |
|
Скорее всего, строка в UTF-8. Тогда так и будет. Переменная длина символа.
1
|
|
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
|
| 08.05.2009, 23:35 [ТС] | |
|
Всем огромное спасибо,это был очень полезный для меня вопрос.Выходит,от кириллицы пока придётся отказатся вообще...
программы с 'я' не компилятся вообще,и я не вижу решения.Если у кого-то есть,милости просим)
0
|
|
|
|
||
| 08.05.2009, 23:38 | ||
|
Про символ "Я" - не указатель, а сам символ занимает два байта Т.е. строка "Я" представляется как 3 байта: { xx, yy, 0 }, где xx и yy - кодировка символя "Я" в юникоде (или как там оно, я не совсем в этих кодировках понимаю)
1
|
||
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
|
| 08.05.2009, 23:41 [ТС] | |
|
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
| 08.05.2009, 23:48 | |
|
0
|
|
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
|
| 08.05.2009, 23:59 [ТС] | |
|
Не помогает.
0
|
|
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
|||||||
| 09.05.2009, 00:26 [ТС] | |||||||
0
|
|||||||
|
Любитель давать советы
342 / 135 / 14
Регистрация: 12.01.2009
Сообщений: 511
|
|
| 09.05.2009, 00:41 | |
|
Нет, не то же самое. L"Я" кодируется в wide-char, а они в Linux - ровно 4 байта
А просто "Я" - вероятно, в UTF-8 - переменный размер символа от 1 байта.
1
|
|
|
3605 / 2745 / 356
Регистрация: 11.03.2009
Сообщений: 6,313
|
|
| 09.05.2009, 16:18 | |
|
0
|
|
|
2 / 2 / 1
Регистрация: 23.08.2009
Сообщений: 21
|
|
| 02.06.2011, 14:06 | |
|
В двойных кавычках передался в функцию не символ, а его числовое значение, код символа
0
|
|
|
0 / 0 / 1
Регистрация: 15.09.2013
Сообщений: 7
|
|
| 15.09.2013, 18:07 | |
|
На самом деле:
1) 'a' - это символ 2) "a" - это строка, в памяти хранится как 2 символа: 'a' и '\0' 3) В добавок ко всему этому кодировка. Однако при просчете кодировки, не забывайте о последнем символе - символе конца строки '\0'.
0
|
|
| 15.09.2013, 18:27 | |
|
Не по теме: Два года тишины и вдруг просветление... :)
0
|
|
|
0 / 0 / 1
Регистрация: 15.09.2013
Сообщений: 7
|
|
| 15.09.2013, 18:30 | |
|
Лучше поздно чем никогда, верно?
0
|
|
| 15.09.2013, 18:59 | |
|
0
|
|
| 15.09.2013, 18:59 | |
|
Определение длины строки Определение длины строки Определение длины строки
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|