[英]How to read a scanf for multiple integer and string inputs until EOF?
我需要像那樣做 scanf function:scanf("%s%d%d%s%d%d%s%d%d", X, &LO, &HI, Y, &LO2, &HI2, Z, &LO3, &HI3)我希望每當用戶按 ctrl+D 結束掃描並關閉程序時。
例如:
l 7 9 c 3 8 v 4 ctrl+D //input
--> end of scanning and the end of program.
你能幫我這樣做嗎? 我是編程的初學者..
對於 Unix 類型的終端,Ctrl-D 通常是 termios VEOF 字符,並且在終端處於規范輸入模式時不會傳遞到標准輸入。 在這種情況下,在行首鍵入 Ctrl-D 字符將使scanf
看到文件結束條件,但它需要位於行首,而不是像您的示例中那樣位於行的中間。 因此,您可能需要在 Ctrl-D 之前鍵入回車,以便盡早從scanf
返回。
可以檢查scanf
的返回值,看它是否讀取了所需數量的輸入值,如果返回值不正確則結束程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.