コンソールの標準入力から読み取るにはどうすればいいですか? 質問する

コンソールの標準入力から読み取るにはどうすればいいですか? 質問する

コマンドラインから標準入力を読み取りたいのですが、入力を求める前にプログラムが終了してしまいます。コンソール.ReadLine()C# で。

現在私が持っているものは次のとおりです:

package main

import (
    "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)
}

ベストアンサー1

ブロックの何が問題なのか分からない

reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter text: ")
text, _ := reader.ReadString('\n')
fmt.Println(text)

私のマシンではうまくいきました。ただし、次のブロックでは、入力を割り当てる変数へのポインタが必要です。fmt.Scanln(text2)を に置き換えてみてくださいfmt.Scanln(&text2)。 は使用しないでください。Sscanlnこれは、stdin からではなく、メモリに既に存在する文字列を解析します。 を置き換えて、実行しようとしていたことと同じようなことを実行してください。fmt.Scanf("%s", &ln)

それでも問題が解決しない場合は、システム設定がおかしいか、IDE にバグがある可能性があります。

おすすめ記事