
sscanfとscanfの違いがよくわからないのですが、簡単に優しく教えて下さい。
お願い致します。
また、scanfは入力された文字列を読み込みますが、sscanfは文字列を他の変数、例えばaその文字列の先端のアドレスを渡したり、文字の1を数値としてのに変換すると習ったのですがあっていますか?
補足ですいません。
sscanfに関する説明不足と関数atoiについて。
sscanfは1文字を数値、すなわち、文字1を数値1に変換してそのaのアドレスを得て、aに渡すのですよね。
ここまでは理解しました。
ですが、
sscanfは1文字を数値、すなわち、文字1を数値1に変換
に関しては関数atoiと違いがわかりません。
プログラムの書き方によりどっちも使えて、
例えば、文字1(文字コード)を(1の文字コードの)数値49とかではなく、まんま数値の1に出来るのでしょうか?
No.2ベストアンサー
- 回答日時:
>sscanfとscanfの違いがよくわからないのですが
入力元の違いで、できることは一緒です。
scanf:標準入力(キーボードから入力)
sscanf:入力済みの文字列(文字配列)
>関数atoiと違いがわかりません
>プログラムの書き方によりどっちも使えて
まあ、その通りですね。
以下のソースではいずれも変数iには10進数の数値123が入ります。
char str[] = "123";
int i;
i = atoi(str);
printf("data=%d\n", i);
sscanf(str, "%d", &i);
printf("data=%d\n", i);
sscanfは複数のデータを抽出するのに向いています。atoiは1要素のみ。
以下の例では変数numに数値81が、文字配列nameには"Tokyo"が入ります。
char str[] = "81,Tokyo";
char name[10];
int num;
sscanf(str, "%d,%s", &num, name);
printf("number=%d, country=%s\n", num, name);
No.1
- 回答日時:
scanf と sscanf の違いは書いてあるので、読んでください。
まあ、それ以前に文字と数値の区別がついていないみたいですが。
補足の説明が説明になっていないようなので、今は考えるのやめて、
来週くらいまで頭冷やしてから考えた直した方が良くないですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スペースで区切って数字を入力
-
itoaわかりません
-
charと%c , %s の関係について
-
C言語、単語ごとに改行したい
-
fgetsで拾われる改行文字を削除...
-
小文字のみを数える方法
-
「Aに対するBの割合」と「Aに対...
-
ある商品のロス率を5%見込み、...
-
Aの値からBの値を除するとは??
-
2曲同時再生するにはどうした...
-
DWORDの実際の型は何でしょうか
-
有効数字について 以前質問をし...
-
複数桁10進数の*桁目だけを抽出...
-
エクセルの問題です。絶対値の...
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
信頼区間の1.96や1.65ってどこ...
-
Enterキーを押されたら次の処理...
-
ネットワークにつながっている...
-
20'(角度)の計算がわかりま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fgets関数を使用したときの文字...
-
sscanfとscanfの違いがよくわか...
-
fgetsで拾われる改行文字を削除...
-
CStringのFindで文字列検索を行...
-
charと%c , %s の関係について
-
C言語のステップ数をカウントす...
-
反転した数値を表示させるやり方
-
C言語 空白の行(改行のみ)が...
-
Cで「大文字、小文字の判定」は...
-
putsとputcharの違い?
-
1行の文字列を時間差で表示する...
-
C言語 strlen 再入力を促す
-
str[j++]の意味
-
C言語の初心者です。これを実行...
-
C言語、単語ごとに改行したい
-
C言語:配列の中の文字を。。。
-
gets fgetsについて
-
プログラムのことで
-
文字列の操作
-
エディットボックスに入力され...
おすすめ情報