我正在編寫一個c庫,但在我想測試函數之前。所以,我做到以下幾點:在C中使用glib函數獲取交互輸入
int main(void)
{
GString *msg = NULL;
msg = g_string_sized_new(256);
printf ("Insert a string (255 characters at most): ");
do_fgets((char *) msg->str, (size_t) msg->len, stdin);
printf("msg->allocated_len = %u \n", (size_t) msg->allocated_len);
printf("msg->len = %u \n", (size_t) msg->len);
return 0;
}
編譯是好的,但該程序打印如下: MSG-> allocated_len = 512 MSG-> LEN = 0
爲什麼呢?有沒有其他方法可以使用glib函數從用戶那裏獲得交互式輸入?
如果有人能幫助我,我將不勝感激!
我不明白你想要什麼,你想要什麼樣的輸入?什麼是GString(除了吉他弦)? 編輯:我只是看着它,從我理解你想使用標準的ANSI C函數嗎?您可以簡單地使用scanf()從標準輸入讀取。 – 2011-04-27 14:56:07
@Ricardo Ferreira - 與吉他相比,至少有一種更常見的g-string用法。 ;) – Duck 2011-04-27 15:06:18