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