■ このスレッドは過去ログ倉庫に格納されています
プログラミング詳しい奴来い下さい
- 1 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:28:27.74 ID:4tCps+qw0.net
- 引数とかはは省略します
scanf("%s =%d") 入力:id =1 (スペース複数)
scanf("%d%d") 入力:1 2(スペース複数)
この2つは期待通りの動作をして
scanf("%s=%d") 入力:id =1(スペース複数)
これは期待通りの結果にならないのなんでですか
- 2 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:29:42.69 ID:BeZ4LwBD0.net
- は?
- 3 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:30:26.59 ID:4tCps+qw0.net
- スペース1個になっちゃった
- 4 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:31:10.35 ID:0sECnpAe0.net
- 何をしたいのお前
- 5 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:32:08.95 ID:0Gr+FFN70.net
- . __,..--,、
x ´ /`"´`iヽ.
`ヽ 、 j { o゙;.:.:!
ヽ、ノ、 x ハ _/.:.:.:.!
ノ \ /\`´ ゞ-;.:.l
) ,. '⌒゙ r-ゞ/-, 7´ {;,/|
ヽ/ ヽ彡 ´ //:::j _l
X _f /f:::::/ i:.:/
X ゞノ. / !;;ノ,.:':./
__ / / _ノ:/|
{ミヽ,>‐`'′ ,.-:://_,ノ ,
}ニヾ_ __r="/」'-'" X
ゝ=-'" ̄ " ̄ /
x /
- 6 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:32:30.06 ID:6qMgBsvF0.net
- ちゃんと書けよ
- 7 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:32:54.76 ID:BeZ4LwBD0.net
- あぁ、確かscanfは余計な文字入れたらバグるはず
%dとかしか書いちゃダメ
- 8 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:35:15.15 ID:4tCps+qw0.net
- ちょっといでおんにかいてくる
- 9 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:39:20.93 ID:fYryVWsi0.net
- 伝説巨神
- 10 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:39:41.31 ID:4tCps+qw0.net
- https://ideone.com/YlEulz
- 11 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:43:28.21 ID:Dxl1z+8a0.net
- >>7
んなこたぁない
- 12 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:43:43.98 ID:BeZ4LwBD0.net
- 何がしたいの?
- 13 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:45:44.65 ID:0sECnpAe0.net
- 期待通りの結果を書け
- 14 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:51:00.97 ID:4tCps+qw0.net
- 期待通りの結果はいでおん見てもらえれば
なんていうんだろう最初のやつはフォーマット指定子の間の空白が1つでいい意味が分からない
"id"まで読んで次のスペースを見つけたらそれを読み捨ててbにidを格納するであってる?
そしたら残ったスペースの扱いは読み飛ばされて=以降を次で読んでるの?
- 15 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:55:13.71 ID:7W4Zezfs0.net
- man scanf
- 16 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:56:11.51 ID:uk/5ebLC0.net
- scanfは結構難しいよなー
- 17 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:57:00.09 ID:yYLPBfjV0.net
- scanfは無駄にややこしい
- 18 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 17:58:30.11 ID:4tCps+qw0.net
- 3番目でスペースが複数でもちゃんと読まれるのが分かるけどだとしたら
2番目がおかしくなる理由が分からん
- 19 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 18:03:32.29 ID:yYLPBfjV0.net
- 中開けて見てみるのが早いんだろうけどPC使えナイツ
- 20 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 18:03:50.03 ID:k29ugnv60.net
- >>18
manページ見てみた?
- 21 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 18:08:34.28 ID:4tCps+qw0.net
- ??フォーマット文字列にスペース入れとけばスペースなくても何個あっても対応しますよーってこと?
- 22 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 18:10:45.76 ID:6LQctnnEi.net
- http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/scanf.3.html
ここの途中に書いてあるよ
- 23 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 18:17:53.83 ID:4tCps+qw0.net
- >>22
ありがとう今読んでる
2番目の%d指定子の引数を0で初期化したら表示も0になった。
入力が%s指定子で終わってるのか
- 24 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 18:18:53.42 ID:6LQctnnEi.net
- >>21
format文字列中のスペースはisspaceがtrueを返す文字に該当する文字の0こ以上の連続を意味するっぽいね
- 25 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 18:20:11.06 ID:V8psDivd0.net
- んーcの規格書の方が分かりやすいかな?
c言語 規格書でググって
7.19.6.2 fscanf読んでみ
IE以外だと見れないかもだが
- 26 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 18:31:21.75 ID:BeZ4LwBD0.net
- %sはスペース(\0と同じ扱い)のところまでを読み込んでる
つまりidまで読み込んでて、
そこから「 =%d」の空白部分が連続した空白を読み飛ばしてくれている。
それで「=」で「=」を読み飛ばして最後に%dにcが入る
二つ目のsscanf(a, "%s=%d", d, &e);はスペースの部分を読み飛ばせていないからその分のゴミが残ってて結果がおかしくなる
ってことでおk?
- 27 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 18:40:27.71 ID:4tCps+qw0.net
- >>26
かなぁ
ファーマット文字列に空白を入れない→空白で読み込み終了
空白を入れる→次に空白以外の文字がでてくるか読み込み負荷まで読み込む
だから2番目は=が期待されるとことが空白だったから終了したのかな
- 28 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 18:43:54.88 ID:4tCps+qw0.net
- ともあれ分かったつもりになったよ皆ありがとう
- 29 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 18:44:00.22 ID:3Gio6aRa0.net
- おーるおっけーですか?
- 30 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 18:46:59.11 ID:3Gio6aRa0.net
- しかしここまで仕様理解して使ってる人ってどれ位いるんだろう
または理解してなくても
使う時は調べて理解してから使う人
- 31 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 18:48:36.89 ID:6LQctnnEi.net
- scanfってあんまり使う機会がないんだけどみんな使うの?
- 32 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 18:53:56.28 ID:4tCps+qw0.net
- >>31
最初>>1に書くときに面倒だからscanfにしたけど実際使ってるのはsscanfです
- 33 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 18:57:11.59 ID:BeZ4LwBD0.net
- 使う機会がまずない
- 34 :以下、\(^o^)/でVIPがお送りします:2014/05/08(木) 18:59:43.01 ID:pJtswPFV0.net
- ちゃんと使えれば有用なんだろうけどな
ただちゃんと仕様を把握している人間が極少ないもんを
使うのはどうかという点はある
総レス数 34
7 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★