CSTRING (строка фиксированной длины, завершающаяся нулем)
| метка СSTRING( | length string constant picture | )[,DIM()][,OVER()][,NAME()] [,EXTERNAL] | 
| Формат: | Фиксированное число байт. | 
| Диапазон: | От 1 до 65,535 байт | 
| length | Числовая константа, которая задает размер строки в байтах. При использовании этого параметра,строка инициализируется пробелами. | 
| string constant | Начальное значение строки. Длина СSTRING-a устанавливается (в байтах) по длине этой строковой константы плюс завершающий нулевой символ. | 
| picture | Используется для форматирования значений, присвоенных строке. Длина такой строки, это количество байт, достаточное для хранения форматированной строки и завершающего нулевого символа. Строка инициализируется пробелами. | 
| DIM | Размерность(и) переменной как массива. | 
| OVER | Разделяет один и тот же участок памяти с другой переменной | 
| NAME | Задает внешнее имя для переменной. | 
| EXTERNAL | Указывает, что переменная описана и память под нее выделяется во внешней библиотеке. НЕ разрешено для описаний FILE, QUEUE и GROUP. | 
CSTRING описывает символьную строку, завершающуюся нулевым символом (ASCII NULL). Она соответствует строкам, используемым в языке C и типу данных "ZSTRING" в Btrieve Record Manager. Под CSTRING в памяти выделяется участок постоянной длины, при этом, завершающий нулевой символ помещается в конец введенных данных. CSTRING во время исполнения преобразовывается в промежуточный тип STRING. Тип CSTRING имеет смысл употреблять для совместимости с внешними файлами и/или процедурами.
Пример:
Name CSTRING(21) !Declare 21 byte field - 20 bytes data
OtherName CSTRING(21),OVER(Name) !Declare field over name field
Contact CSTRING(21),DIM(4) !Array 21 byte fields - 80
! bytes data Company
Company CSTRING('Clarion Software, Inc.') !23 byte string 22
! bytes data
Phone CSTRING(@P(###)###-####p) !Declare 14 bytes 13 bytes
! data
ExampleFile FILE,DRIVER('Btrieve') !Declare a file
Record RECORD
NameField CSTRING(21),NAME('ZstringField')
!Declare with external name
. .
