簡體   English   中英

如何讀取多個 integer 和字符串輸入的 scanf 直到 EOF?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM