The fixchar data type
The fixchar data type is the Informix® ESQL/C data type that holds character data that does not append a null terminator.
When an application reads a value from a CHAR column into a host
variable of type fixchar, Informix®
ESQL/C pads
this value with trailing blanks up to the size of the host variable. Informix®
ESQL/C does
not append any null character. The behavior is the same if an application
reads a value from a VARCHAR (or NVARCHAR) column into a host variable
of the fixchar data type.
Restriction: Do not use
the fixchar data type with VARCHAR, or NVARCHAR, data. With
a fixchar, even if the length of the data is shorter than the
size of the fixchar, the database server stores all n characters
of the fixchar, including any blanks at the end of the string.
Unless the blanks have significance, storing them defeats the space
savings that the VARCHAR data type provides.
Declare a fixchar host variable as an array with n components
(where n is the size of the column with values
that you want read). Use the following syntax to declare a host variable
of the fixchar data type:
EXEC SQL BEGIN DECLARE SECTION;
fixchar fch_name[n];
EXEC SQL END DECLARE SECTION;
Important: You
can copy a null-terminated C string into a fixchar variable
if space is available for the null character. However, this is not
good practice. When the database server inserts this value into a
column, it also inserts the null terminator. As a result, later searches
of the table might fail to find the value.