![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нужно ли выделять память для #0 в null-terminated string [D6, XP]
Mr tray © (2006-06-06 21:24:00)Здравствуйте. У меня вопрос про null-terminated string. Есть var pc:pchar; я хочу записать в этот pc строку 'привет'. Сначала я выделяю память для строки. В данном случае я должен выделить 6 байт или 7? То есть, для этого самого #0, который, как я понимаю, должен быть в конце строки, нужно выделять байт?
Blackcrazzy (2006-06-07 10:53:00) [1]Машина делает только то, что Вы ей сказали, а не то что Вам бы хотелось.
evvcom (2006-06-07 09:12:00) [2]
> нуу. может для него автроматически выделяется память
А откуда компилятор или ОС или еще кто-то, что-то, что по твоему мнению должно "разумно" выделить память, знает, что ты потом будешь в эту память писать null-terminated string и тебе потребуется на один байт больше, чем сам стринг?
Dmitrij_K (2006-06-06 23:17:00) [3]см.
StrNew
StrAlloc
StrDispose
SysUtils.pas
Mr tray (2006-06-06 23:08:00) [4]
> куда он запишется, если для него место не выделишь?
нуу. может для него автроматически выделяется память
> 7 байт, под #0 тоже нужно брать
спасибо
Zeqfreed (2006-06-06 22:01:00) [5]А как думаешь, куда он запишется, если для него место не выделишь?
Palladin (2006-06-06 21:53:00) [6]7 байт, под #0 тоже нужно брать