アプリ版:「スタンプのみでお礼する」機能のリリースについて

sscanfとscanfの違いがよくわからないのですが、簡単に優しく教えて下さい。
お願い致します。
また、scanfは入力された文字列を読み込みますが、sscanfは文字列を他の変数、例えばaその文字列の先端のアドレスを渡したり、文字の1を数値としてのに変換すると習ったのですがあっていますか?

補足ですいません。
sscanfに関する説明不足と関数atoiについて。
sscanfは1文字を数値、すなわち、文字1を数値1に変換してそのaのアドレスを得て、aに渡すのですよね。
ここまでは理解しました。
ですが、
sscanfは1文字を数値、すなわち、文字1を数値1に変換
に関しては関数atoiと違いがわかりません。

プログラムの書き方によりどっちも使えて、
例えば、文字1(文字コード)を(1の文字コードの)数値49とかではなく、まんま数値の1に出来るのでしょうか?

A 回答 (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);
    • good
    • 3

https://linuxjm.osdn.jp/html/LDP_man-pages/man3/ …
scanf と sscanf の違いは書いてあるので、読んでください。

まあ、それ以前に文字と数値の区別がついていないみたいですが。

補足の説明が説明になっていないようなので、今は考えるのやめて、
来週くらいまで頭冷やしてから考えた直した方が良くないですか?
    • good
    • 4

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A