Максимальное количество символов, допустимых в строке? Если да, то каков предел количества символов?Максимальное количество символов в строке
ответ
Предполагая, что вы говорите о массиве символов (и не что-то вроде std :: string), то я считаю, что предел равен 32768, в зависимости от компилятора.
UPDATE:
Как было pionted ко мне, это ограничение применяется только при объявлении массива в стеке, как так:
char str[32768];
Это ограничение не применяется при объявлении массива на кучи, как это:
char *str = new char[32769];
-1: Почему такой крошечный максимум? –
Я помню, как пытался объявить массив символов больше, чем этот раз (в VC++ 6, так что это было несколько лет назад), и я помню, что предел составляет 32768 элементов в массиве. – Cameron
Если вы выделяли массив, используя синтаксис «char myArray [32768]», вы выделяли его в стеке. Ваша строка была ограничена размером стека платформы, которую вы использовали. Однако размещение таких больших структур в стеке - плохая идея. Если вы поместите «char * myArray = new char [32768]», вы обнаружили, что ваш массив может быть таким большим, каким вы хотели, чтобы он находился в пределах размера целого числа на вашей платформе. – Ant
мы говорим «C строка» или std::string
... бывший целиком и полностью зависит от размера вашего буфера. Последнее должно ограничиваться только объемом доступной памяти.
Насколько это зависит от размера буфера - вопрос. std :: string не сохраняет фактическую строку в стеке, когда строка является большой. –
nobugz: Я не совсем понимаю, что вы имеете в виду, это ваше первое предложение о std :: string или регулярном буфере? – Skurmedel
Хранилище для std :: string никогда не будет ограничено размером стека. – 2010-02-22 13:23:17
std::string str
максимальный размер str.max_size()
.
Для получения в настоящее время выделенного размера используйте str.capacity()
.
Интересно ... Я предполагаю, что max_size как максимум целого числа, которое он использует для индексирования или чего-то еще? – Skurmedel
max_size возвращает size_t, который является целым числом без знака, но это может быть меньше в зависимости от реализации. Существует вопрос SO о исключении length_error http://stackoverflow.com/questions/1183700/what-is-the-meaning-of-this-c-error-stdlength-error –
Обратите внимание, что 'max_size' является общим для любого STL контейнер. Также на большинстве компьютеров вы ограничены не целым числом, а максимальным размером блока памяти, который может быть выделен сразу (окна не поддерживают более 2 ГБ на каждый процесс, если моя память мне подходит), а память «Остался на машине. –
Я понимаю, что максимальное количество символов в строке стиля C - это емкость типа size_t
. size_t
определяется стандартом, чтобы иметь возможность обрабатывать наибольший размер на данной платформе. Там могут быть меньше ограничений, таких как доступная память для хранения текста (как для чтения, так и для записи).
Что касается std::string
(строка C++), предел определяется максимальным значением, которое может вместить тип std::string::size_type
. Это варьируется между платформами и переводчиками. Опять же, эта величина может быть уменьшена возможностями платформы для хранения строки.
Некоторые новички смогли объявить строки 10 МБ для обработки файлов.
- 1. Максимальное количество символов в FCKeditor
- 2. Максимальное количество в каждой строке
- 3. Найти максимальное количество смежных дублированных символов в строке
- 4. Как обеспечить максимальное и минимальное количество символов, разрешенных в строке
- 5. Количество символов в строке
- 6. количество символов в строке
- 7. Установить максимальное количество символов в GtkTextBuffer
- 8. Установите максимальное количество символов в текстовом поле
- 9. Ограничить максимальное количество символов в двойном
- 10. Максимальное количество символов в поле поиска
- 11. Каково максимальное количество символов в сообщении USSD?
- 12. Максимальное количество символов в UITextField, разрешающее удаление?
- 13. Количество символов в строке из списка символов
- 14. Количество отображаемых символов в строке
- 15. Получить количество символов в строке?
- 16. Количество точных символов в строке
- 17. подсчитывает количество символов в строке
- 18. Найти количество символов в строке
- 19. Количество символов в строке (не количество байтов)
- 20. найти максимальное количество последовательных 1 в строке?
- 21. Сокращение повторяющихся символов в строке, имея максимальное количество повторных символов разрешено
- 22. Google Glass: максимальное количество символов на карте?
- 23. Отправить предупреждение, когда передано максимальное количество символов.
- 24. Как ограничить максимальное количество символов вывода?
- 25. Как определить максимальное количество символов на кнопке
- 26. Regular Expression Максимальное количество символов Javascript
- 27. TextBox максимальное количество символов (это не MaxLength)
- 28. найти МАКСИМАЛЬНОЕ количество символов в списке: код Python
- 29. Рассчитать количество символов в строке в R
- 30. C# Количество символов в строке с номерами
Очень зависимая реализация. Укажите операционную систему, компилятор и реализацию STL, если вы хотите получить точный ответ. –
Звучит как домашнее задание? –