回答

收藏

如何从控制台中的标准输入读取?

技术问答 技术问答 214 人阅读 | 0 人回复 | 2023-09-12

我想从命令行中读取标准输入,但我的尝试以提示我输入前退出的程序结束。C# 寻找等效Console.ReadLine()。" `% A9 m. f. }4 d2 W
这是我目前拥有的:
/ z2 l# B6 v' m. I) [5 J: Q! K
    package mainimport  "bufio"    "fmt"    "os")func main()      reader := bufio.NewReader(os.Stdin)    fmt.Print("Enter text: ")    text,_ := reader.ReadString('\n    fmt.Println(text)    fmt.Println("Enter text: ")    text2 := ""    fmt.Scanln(text2)    fmt.Println(text2)    ln := ""    fmt.Sscanln("%v",ln)    fmt.Println(ln)}
    * D8 B9 _+ ~( X# d
               
$ z* i1 c! m1 ~( F    解决方案:                                                               
* q  K" ?4 v& T! ]9 P" s( n1 w                                                                我不确定块有什么问题。
6 S! P7 Y5 |3 P: X. }5 b
    reader := bufio.NewReader(os.Stdin)fmt.Print("Enter text: ")text,_ := reader.ReadString('\n')fmt.Println(text)
    , G  K' X7 w; Q, u$ E
因为它在我的机器上工作。但是,对于下一个块,您需要一个指向输入的变量指针。试着更换它fmt.Scanln(text2)为fmt.Scanln(&text2). 不要使用Sscanln,因为它会分析内存中现有的字符串,而不是标准输入的字符串。如果你想做你想做的事,请用它代替它fmt.Scanf("%s",&ln)# [1 ^$ N" d% s2 J
如果这仍然不起作用,你的罪魁祸首可能是一些奇怪的系统设置或缺陷 IDE。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则