Resurection!
Я думаю, что нашел решение моего вопроса. Что я сделал, так это прочитал ввод в буфер, а затем назначил буфер члену структуры src, и все в порядке. Примерный код:
int main(void)
{
GString *msg = NULL;
gchar *p;
gchar buf[256];
msg = g_string_sized_new(256);
printf ("Enter a message (255 characters at most): ");
p = fgets(buf, sizeof(buf), stdin);
g_string_assign(msg, buf);
printf("msg->str = [%s] \n", (char *) msg->str);
printf("msg->len = %u \n", (size_t) msg->len);
printf("msg->allocated_len = %u \n", (size_t) msg->allocated_len);
return 0;
}
Так распечатывается:
msg->str = [this is my message]
msg->len = 19
msg->allocated_len = 512
Странно только то, почему alloc_len равен 512 вместо 256.
Спасибо всем за ответ ...