質問するログイン新規登録

回答編集履歴

1

追記

2021/09/12 06:01

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -60,4 +60,31 @@
60
60
  hoge[a:0x61]
61
61
  ```
62
62
 
63
- 任意長の空白文字類が読み飛ばされていますね。
63
+ 任意長の空白文字類が読み飛ばされていますね。
64
+
65
+ なんとか演算子
66
+ ---
67
+ > scanf("%[0-z],%hoge);
68
+ といったようなscanfの書き方があったかと思います。
69
+
70
+ scanf("%[a-z]s", buffer) ですかね。
71
+ これはaからzの文字列を読み取ります。(文字コードが連続する環境であれば)
72
+ ```C
73
+ scanf("%[a-z]s", buffer);
74
+ scanf("%c", &ch);
75
+ printf("%s[%c:0x%02X]\n", buffer, ch, ch);
76
+ ```
77
+
78
+ 例えば abc123ABC[改行] と入力すると、次のような結果になります。
79
+ ```stdout
80
+ abc[1:0x31]
81
+ ```
82
+
83
+ [0-z] と書くことはあまり多くないんじゃないかと思います。
84
+ : や ; などを読み込むことはおそらく期待していないので。[0-9A-Za-z] の方が良いかも。
85
+
86
+ > これについて復習をしたいのですが、なんとか演算子、といった名前だったような気がするのですが思い出せません。
87
+ お心当たりがあれば、この書き方の名称を教えていただけますと幸いです。
88
+
89
+ すみません、名称については心当たりありません。
90
+ ただ、○○演算子とはなかなか呼ばないように思います。