Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Pascal String


Страницы:   1 2

Chlavik ©   (2004-12-06 01:14:00) 

Скажите пожалуйста строки такого типа Null Terminated ?
т.е. кроме размера строки перед началом там есть еще 0 символ в конце ? Я могу написать что типа
var S:string;
   p:PChar;
begin
P:=Pointer(S) вместо PChar потому что при последнем вызывается LStrToPChar ?


default   (2004-12-06 03:13:00) [21]

[5]
если CPU пользоваться не умеешь, то мог так испытать
if S[Length(S)+1] = #0 then ShowMessage('')
или хелп прочитать


GuAV   (2004-12-06 03:10:00) [22]

2 default ©

:-)


GuAV   (2004-12-06 03:09:00) [23]

Будет.


default   (2004-12-06 03:09:00) [24]

Chlavik ©   (06.12.04 03:07) [5]
БУДЭ


Chlavik   (2004-12-06 03:07:00) [25]

Я имею ввиду
var s:string;
begin
s:='Test';
так будет в памяти после последней буквы 't' нулевой символ а то что nil если строка пуста то я и так знаю...


GuAV   (2004-12-06 03:06:00) [26]

Если указатель на первый символ строки то есть.
Если указатель nil, то вопрос неуместен :)


Chlavik   (2004-12-06 03:04:00) [27]


> Piter ©   (06.12.04 01:48) [1]
На первый символ строки или nil если строка нулевой длины...


Так вы мне так и не сказали есть там нулевой символ или нет ???


jack128   (2004-12-06 02:05:00) [28]

в данном конкретном коде - nil. А что некоректного??

Null Terminatedстроки - это строки, которые закончиваются символом #0.

Chlavik ©   (06.12.04 1:14)
P:=Pointer(S) вместо PChar потому что при последнем вызывается LStrToPChar ?

Потому что борланду так захотелось. Дело в том, что string не полностью совместимы с PChar. Пустая строка в string хранить как nil, а не как указатель на символ #0, функция LStrToPChar как и проверяет s на nil и, если что , возвращает нужное значение...


Piter   (2004-12-06 01:48:00) [29]

я так и не понял в чем вопрос конкретно...

P:=Pointer(S)

некорректно. И как ты думаешь - куда будет указывать P?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо