我必須接受用戶的輸入,並將其寫入到文件中,我使用fgets()
的想法,以防止溢出,其中:用戶輸入和與fgets
while (fgets(line, sizeof line, stdin) != NULL)
fputs(line, file);
這樣做的問題是,用戶有在空行輸入CTRL + Z,然後提交它以退出輸入,這可能看起來有點混亂。有沒有更簡單的方法來退出fgets()
輸入?
其他方法呢?如果我用符號讀取符號,我可以實現一個退出字符,但用戶不能刪除輸入,這也是令人困惑的,所以我必須實施刪除算法,這會增加代碼的複雜度。
編輯: 用戶必須能夠在儘可能少的限制下在終端中輸入C代碼。
像Linux上的字符一樣工作。也許你有一些奇怪的IDE或OS?而'fgets'不允許編輯。 'stdin'是一個字符流! – Olaf
這個想法是能夠很容易地退出輸入(可能是一個特定的退出字符),我不能用fgets來做到這一點。 – user3604097