如果我想從命令行讀取任意長度的字符串,那麼最好的方法是什麼?從控制檯讀取未知長度的字符串
目前,我這樣做:
char name_buffer [ 80 ];
int chars_read = 0;
while ((chars_read < 80) && (!feof(stdin))) {
name_buffer [ chars_read ] = fgetc (stdin);
chars_read++;
}
但我能做些什麼,如果字符串的長度超過80個字符?顯然,我可以只是初始化數組到更大的數字,但我確定必須有一個更好的方法來給數組使用malloc或更多的空間?
任何提示都會很棒。
可能重複http://stackoverflow.com/questions/3598351/reading-字符串與undefined-length-in-c) – 2011-03-21 09:13:34