所以基本上我學習C,他們教我們使用gets()函數,我發現它被刪除,不能再使用。所以我試圖學習使用替代方法,gets_s()函數,但我似乎無法。例如試圖編譯:在下面的代碼給了我「未定義參考gets_s」未定義的引用gets_s
char line[21];
gets_s(line, 20);
printf("The line entered was: %s\n", line);
很多人說用fgets()代替gets()函數,但我不知道怎麼說將工作,因爲我想讀取用戶的輸入,而不是從文件中讀取。
您需要包含一個標題,而不是定義'gets_s'。 – 2014-08-31 15:55:55
'gets_s'僅在MSVC中可用。使用'fgets'。 – 2014-08-31 16:02:21
更好的是,如果你的系統有它(比如最近的Posix規範),可以使用'getline'。它動態地爲線路分配緩衝區,因此可以接受非常大的線路(如果系統資源允許的話)。 – 2014-08-31 16:04:22