Как правильно объявить большую текстовую переменную
#1

Мне нужно вывести в диалоговом окне очень много текста.
Около 4000 символов.
Как правильно объявить переменную под этот текст?

Если просто делаю new text[4000];, то получается переполнение стека.
Reply
#2

Посчитай с помощью strlen и выставь не 4000, а ближе к тому числу, которое получится в strlen, или сам вычесли на крайняк.
Если компилятор будет вновь ругаться, то воспользуйся динамикой:
PHP код:
// памями выдели столько - сколько просит компилятор, пример:
#pragma dynamic 4096 
Reply
#3

Quote:
Originally Posted by Josipo
Посмотреть сообщение
Как правильно объявить переменную под этот текст?
Глобальная переменная в начале мода. Ручками поднимать стек плохо.
Reply
#4

Quote:
Originally Posted by Mcc
Посмотреть сообщение
Глобальная переменная в начале мода. Ручками поднимать стек плохо.
Чем плохо?
Reply
#5

Quote:
Originally Posted by stabker
Посмотреть сообщение
Чем плохо?
Кушаньем оперативной памяти наверное.
Reply
#6

Можно объявить эту переменную как static, в этом случае переполнения стека не будет.
Reply
#7

Quote:
Originally Posted by Mcc
Посмотреть сообщение
Кушаньем оперативной памяти наверное.
Разница? Глобальный массив тоже ее займет до выключения сервера.
Reply
#8

Quote:
Originally Posted by stabker
Посмотреть сообщение
Разница? Глобальный массив тоже ее займет до выключения сервера.
Статика быстрее. И предназначение у стека несколько иное по-моему, нежели хранение больших текстовых данных.
Reply
#9

И static не выгружается из памяти после использования.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)