No.9
- 回答日時:
>例えば、abcdefgでNULL文字を使うと、gで切れて、1行空白空いて、hijkという風になるのかというのかという事です。
char data[20] = "abcdefghijk"; とすると
data[0] : 'a'
data[1] : 'b'
data[2] : 'c'
data[3] : 'd'
data[4] : 'e'
data[5] : 'f'
data[6] : 'g'
data[7] : 'h'
data[8] : 'i'
data[9] : 'j'
data[10] : 'k'
data[11] : '\0
となります。
この時、dataは、"abcdefghijk" であると判定されます。
ここで、
data[7] = '\0'を実行すると、(あなたがいうところの区切ると)
dataは、"abcdefg" となります。
data[8] 以降は、"ijk"となります。
このことをいっているのであれば、その通りです。
No.8
- 回答日時:
>char data[256];
>int num;
>num = 12345;
>sprintf(data,"number=%d\n",num);
>とすると、dataの内容は"number=12345\0" となります
>で、出力先が変数となるというのは、どんな感じに表示されるのでしょうか?
一点、誤りがありました。
sprintf(data,"number=%d\n",num);
は
sprintf(data,"number=%d",num);
の誤りでした。お詫びして訂正いたします。
どんな感じに表示されるのでしょうかということですが
表示されません。値(文字列)が、変数に設定されるだけです。
dataの内容を画面に表示するために
printf(data);
として、その行を実行した場合は、画面に
number=12345
と表示されます。
No.6
- 回答日時:
>②の、’/0’は、どういう意味なのでしょうか?
文字列の終端を示す文字です。NULL文字とも呼ばれています。
下記URLを参照ください。
https://daeudaeu.com/c-nul-chara/
sprintfはprintfと同様に文字、数字などを出力しますが出力先が画面ではなく変数になります。
例
char data[256];
int num;
num = 12345;
sprintf(data,"number=%d\n",num);
とすると、dataの内容は"number=12345\0" となります
で、出力先が変数となるというのは、どんな感じに表示されるのでしょうか?教えて頂けると幸いです。
No.5
- 回答日時:
たまたま類似の機能で操作対象が違うので似通った名前を付けているだけの話です。
それぞれの関数の説明書を読んでください。説明書を読みさえすれば違いがわからないなどということはあり得ませんので、最低限その程度の努力をした上で質問をしてください。また、より詳しく知りたければそれぞれの関数のソースコードを読んでください。printf()もvsprintf()もC言語で書かれていますし、中身を見れば関係性もわかるでしょう。
No.3
- 回答日時:
>①その場合、そのファイルを事前にオープンしておく必要があるというのは、そのファイルを開いたままでということでしょうか?
ファイル読み込み時、ファイルの終端に達した場合は、ファイルをクローズします。
ファイルへ出力時、書き込むデータがなくなった場合は、ファイルをクローズします。
②dataの内容は12345\0という所が分かりません。
"12345" の文字列と'\0'(16進数の0x00)がdataに格納されます。
data[0]='1'
data[1]='2'
data[2]='3'
data[3]='4'
data[4]='5'
data[5]='\0' (0x00)
になります。
ちなみに、scanf関数についてもう少し詳しく教えて頂けると幸いです。この関数を使うと、画面に何か出てくるのでしょうか?教えて頂けると幸いです。
No.2
- 回答日時:
#include <stdio.h>
int main() {
int num;
printf("Input Number> "); /*①*/
scanf("%d", &num); /*②*/
printf("number=%d\n",num); /*③*/
return 0;
}
---------------------------------------
上記のプログラムを実行すると
①Input Number> が画面に表示されます。
②任意の数字(例では12345)を入力すると、その数字を読み込み、変数(num)に格納します。
③numを画面に表示します。
実行結果:
Input Number> 12345
number=12345
printfは、標準出力(画面)へ、文字、数字などを出力します。
scanfは、標準入力のデータ(キーボードから入力されたデータ)を読み込み、変数に格納します。
これが、「printf、scanf関数:標準入出力に対して使用」の意味です。
printfと同様にfprintfはファイルへ文字、数字などを出力します。
(その場合、そのファイルを事前にオープンしておく必要がありますが)
scanfと同様にfscanfはファイルから文字、数字などを読み込み、変数に格納します。
(その場合、そのファイルを事前にオープンしておく必要がありますが)
これが、「fprintf、fscanf:ファイルに対して使用」の意味です。
sprintfはprintfと同様に文字、数字などを出力しますが出力先が画面ではなく変数になります。
例
char data[256];
int num;
num = 12345;
sprintf(data,"number=%d\n",num);
とすると、dataの内容は"number=12345\0" となります。
vsprintfもprintfと同様に文字、数字などを出力しますが出力先が画面ではなく変数になります。
(例は省略)
sscanfはscanfと同様にデータを読み込み、読み込んだ内容を変数に格納しますが、
読み込み元は変数になります。
例
char data[256]="9876";
int num;
sscanf(data,"%d",&num); /*④*/
printf("number=%d\n",num);
④を実行すると、dataの内容が数値としてnumに格納されます。(num=9876)
これが、「sprintf、vsprintf、sscanf:メモリに対して使用」の意味です。
ここでいうメモリとは、変数であるdataとかnumのことを示しています。
2つほど聞きたいのですが、①その場合、そのファイルを事前にオープンしておく必要があるというのは、そのファイルを開いたままでということでしょうか?
②dataの内容は12345\0という所が分かりません。
教えて頂けると幸いです。
No.1
- 回答日時:
C言語に多少触れた程度のですが、printf、scanf関数は、モニタに出力する。
キーボードから入力する。fprintf、fscanfは、テキストファイルとして出力する。テキストファイルから入力する意だと思います。テキストファイルになると、フォルダの指定も必要かと思います。メモリの方は分かりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 putchar関数 2 2021/12/06 17:50
- C言語・C++・C# C言語の問題です。大至急回答お願いします 次の条件を満たすキュー・プログラムを作成せよ。 ①キューに 1 2021/12/05 01:35
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# C言語 ループ中からの関数の呼び出し方のコーディング 2 2021/11/02 09:33
- MySQL PHPで「myql関数」が使用できない場合、mysql のために PHPを学習する意味はありますか? 2 2021/12/24 16:37
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
ストリーム 意味について。
C言語・C++・C#
-
C言語について。
C言語・C++・C#
-
C言語 バッファについて。
C言語・C++・C#
-
-
4
ストリームについて。
C言語・C++・C#
-
5
C言語について。
C言語・C++・C#
-
6
C言語について。
C言語・C++・C#
-
7
バッファリングについて。
C言語・C++・C#
-
8
これなにがちがうんですか??
C言語・C++・C#
-
9
C言語について。
C言語・C++・C#
-
10
C言語 解答について。
C言語・C++・C#
-
11
C言語です
C言語・C++・C#
-
12
C言語 バッファについて。
C言語・C++・C#
-
13
コマンドプロンプトについて。
C言語・C++・C#
-
14
写真のプログラムは、1からnまでの、全整数の積すなわち階乗値を求めて返却する関数を作成したいのですが
C言語・C++・C#
-
15
C言語って古いですか?
C言語・C++・C#
-
16
VisualStudio2022でC言語プログラムで全角文字を使用すると不明なエラーが表示される
C言語・C++・C#
-
17
C言語について。
C言語・C++・C#
-
18
C言語 ストリームについて。
C言語・C++・C#
-
19
C言語について。
C言語・C++・C#
-
20
gcc13.2のバグ?
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
ドラッグアンドドロップでファ...
-
iniファイルに追記がしたいです。
-
ASP .NETでファイル選択ダイア...
-
WAVファイル同士の結合が可...
-
csvファイルを開かずに文字を検...
-
ファイル名の先頭にアンダース...
-
Excelマクロでの再読込み方法
-
C言語のfopenについて教えてく...
-
複数ブックの統合について Exce...
-
fopenの"r+"モードで同時に読み...
-
htmlを置換する方法とjsp表示
-
複数のファイルからのデータの...
-
ファイルを開かずにカスタムド...
-
VBAにてEXCEL以外のファイル(テ...
-
Arduinoでのライブラリファイル...
-
大きいサイズのテキストファイ...
-
2つのCSVファイルの比較
-
アドレス帳WABファイルをサンダ...
-
ファイルクローズとメモリ使用...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
csvファイルを開かずに文字を検...
-
ファイル名の先頭にアンダース...
-
CSVファイルへの保存の際、デー...
-
ファイルを記録してあるセクタ...
-
テキストファイルの最終行を削...
-
SGファイルって何ですか?
-
ドラッグアンドドロップでファ...
-
分割コンパイルの#defineについて
-
VBに、Cのincludeのようなもの...
-
fopenできる上限の変更
-
グローバル変数のよくない使い...
-
ファイルの結合
-
大きいサイズのテキストファイ...
-
iniファイルに追記がしたいです。
-
バッチで118項目のCSVを処理し...
-
ハッシュの計算時間について
-
C言語のfopenについて教えてく...
-
Javascript で INI の読み書き
-
Excelマクロでの再読込み方法
おすすめ情報
NULL文字とは、文字列を区切るものなのでしょうか?教えて頂けると幸いです。
コンパイルは成功しました!ありがとうございました!ですが、質問のscanf関数がどういうものかというのが、いまいちつかめません。教えていただけると幸いです。
迅速な回答大変恐縮です。すみませんが、3つほど教えて頂けると幸いです。以下の通りです。
①return 0は、0=成功、1=失敗の、0でしょうか?
②printfで、/nを使っていますが、なぜ、sprintfで、/nは間違いだと言ったのでしょうか?
③vsprintfは、sprintfや printfなどの関数と何が違うのでしょうか?