C#の標準入力からの読み取りについてです。
例えば、標準入力から
1 2 3
といったように、3つの数値がスペースを間に
入れる形で、入力されるとします。
これを読み取る際に、例えば、C++ですと、
cin >> w >> h >> n;
としたり、Cですと、
fgets(str, sizeof(str), stdin);
sscanf(str, "%d %d %d", &w, &h, &n);
などで読み取り可能だと思います。
C#についてですが、少し試した限りでは
line = System.Console.ReadLine();
stArrayData = line.Split(' ');
w = int.Parse(stArrayData[0]);
h = int.Parse(stArrayData[1]);
n = int.Parse(stArrayData[2]);
といったように、文字列で読み込んで、
それをSplitで分割して数値に変換する
という方法で、一応、可能かと思います。
しかしながら、C++やCと比べると、手間が
かかっているとは思います。
なので、もしかしたら、sscanfみたいな関数が
C#であるのかもしれないと思いまして、ネット上で
検索しているのですが、今の所特に見つかっておりません。
ということで、C#で、
1 2 3
といったような空白を含んだ標準入力からの
読み取りについて、詳しい方がおられましたら、
ご教示頂けると助かります。
補足です。
さらに検索していた所、
https://ufcpp.net/study/csharp/ap_reverse.html
このサイトで、Cのscanfみたいなことをするには、
・正規表現を使う
・Splitを使う
といったような2つの方法が提示されているのを見つけました。
どうぞよろしくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/01 07:38