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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Excel(エクセル) エクセルでセルに何らかの文字が入力されたらそれを任意の数値として認識させる方法がしりたいです。 3 2023/03/16 20:19
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Excel(エクセル) Excelの文字列を数字に変換する方法について 6 2023/07/31 21:18
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- Java Java 南京錠 2 2023/02/04 11:46
- Excel(エクセル) Excelの関数についておしえてください。 3 2023/04/20 18:36
- Java java 入力された文字列を数値に置き換えて整数にし、計算をしたいです。 <を10として /を1とし 4 2022/05/16 21:08
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- Visual Basic(VBA) 列を指定して値を左から5文字にそろえる 1 2022/06/10 20:28
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
バッファとは何ですか
C言語・C++・C#
-
空白を含んだ文字列がうまく格納(表示)できない
C言語・C++・C#
-
fopne で失敗する原因
C言語・C++・C#
-
-
4
fgets( ) の返り値は何?
C言語・C++・C#
-
5
C言語での引数の省略方法
C言語・C++・C#
-
6
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
7
fgetsとsscanfを使って一行から複数入力
C言語・C++・C#
-
8
#define _CRT_SECURE_NO_WARNINGS について
C言語・C++・C#
-
9
C言語で、メモリを解放しないで終わるプログラム
C言語・C++・C#
-
10
scanf(%s", buf);でスペースを含んだ文字"
C言語・C++・C#
-
11
C言語 exitの使い方
C言語・C++・C#
-
12
C言語のポインターに関する警告
C言語・C++・C#
-
13
ファイル書込みで一行もしくは部分的に上書きする
PHP
-
14
#defineの定数を文字列として読み込む
C言語・C++・C#
-
15
適切な変換関数が存在しない???
C言語・C++・C#
-
16
char*を初期化したいのですが
C言語・C++・C#
-
17
printfなど、標準関数のソースコードが知りたい
C言語・C++・C#
-
18
printf による16進表示について
C言語・C++・C#
-
19
変数名の付け方
Java
-
20
文字列から空白を取り除きたいのですが
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
反転した数値を表示させるやり方
-
fgets関数を使用したときの文字...
-
CStringのFindで文字列検索を行...
-
sscanfとscanfの違いがよくわか...
-
C言語 空白の行(改行のみ)が...
-
C言語で16進数文字列から16進数...
-
sscanfでフォーマットに合って...
-
文字の入れ替えについて
-
C言語 strlen 再入力を促す
-
charと%c , %s の関係について
-
全角文字のチェック
-
fgetsで拾われる改行文字を削除...
-
itoaわかりません
-
単語数のカウントについて
-
getchar分を用いて入力された文...
-
VC++ 再帰関数
-
文字列の途中に「0」がある場...
-
C言語 ポインタを使用した文字...
-
プログラミング シーザー暗号 ...
-
Enterキーを押されたら次の処理...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CStringのFindで文字列検索を行...
-
sscanfとscanfの違いがよくわか...
-
反転した数値を表示させるやり方
-
fgets関数を使用したときの文字...
-
C言語 空白の行(改行のみ)が...
-
charと%c , %s の関係について
-
C言語のステップ数をカウントす...
-
fgetsで拾われる改行文字を削除...
-
itoaわかりません
-
C言語で16進数文字列から16進数...
-
strstrを利用しない文字列検索...
-
文字列中に含まれる文字の個数...
-
Cで「大文字、小文字の判定」は...
-
1行の文字列を時間差で表示する...
-
エディットボックスに入力され...
-
[Java]文字列分割
-
文字列の途中に「0」がある場...
-
教えていただけませんか?C言語...
-
fgetsでバッファ残留文字列を無...
-
atoiでの文字列以外のエラー処...
おすすめ情報