回答編集履歴
3
修正
test
CHANGED
@@ -27,3 +27,5 @@
|
|
27
27
|
`sscanf(buf,"%[0-9]",phoneNum);`とかして、先頭からの連続した数字だけを読み取り、
|
28
28
|
|
29
29
|
`if(strlen(phoneNum) != 10)` とかで桁数だけをチェックでOKな気もします。
|
30
|
+
|
31
|
+
(一つも合致しなかったときの為にsscanfの戻り値のチェックも必要かな)
|
2
修正
test
CHANGED
@@ -24,6 +24,6 @@
|
|
24
24
|
|
25
25
|
`scanf("%[^\n]", buf);`で一行すべて受け取った後に、
|
26
26
|
|
27
|
-
`scanf(buf,"%[0-9]",phoneNum);`とかして、先頭からの連続した数字だけを読み取り、
|
27
|
+
`sscanf(buf,"%[0-9]",phoneNum);`とかして、先頭からの連続した数字だけを読み取り、
|
28
28
|
|
29
29
|
`if(strlen(phoneNum) != 10)` とかで桁数だけをチェックでOKな気もします。
|
1
追加
test
CHANGED
@@ -13,3 +13,17 @@
|
|
13
13
|
|
14
14
|
|
15
15
|
`while(*p)`の前に`p = phoneNum;`として、ポインタの位置を戻してやると良いかと思います。
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
---
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
それはそれとして、数字だけを受け取りたいのであれば、
|
24
|
+
|
25
|
+
`scanf("%[^\n]", buf);`で一行すべて受け取った後に、
|
26
|
+
|
27
|
+
`scanf(buf,"%[0-9]",phoneNum);`とかして、先頭からの連続した数字だけを読み取り、
|
28
|
+
|
29
|
+
`if(strlen(phoneNum) != 10)` とかで桁数だけをチェックでOKな気もします。
|