![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
sprintfの使用方法に関して質問させていただきます。
sprintfを使用して、
文字と数字を取り扱う場合、
以下の例にもありますように、
%dと%sを使用したりしますが、
(ex)
char test[256];
char num[] = "1234567";
char pg[] = "program";
int i386 = sprintf(buf,"%s%d",pg,num);
例えば、
以下のように、
上記例で、
pgが文字と数字が混在している場合と言うのは、
spintfはどう書き直せば正解なものなのでしょうか?
char test[256];
char num[] = "1234567";
char pg[] = "http://image.blog/test001.gif";
アドバイスいただけますとありがたい次第です。
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
>int i386 = sprintf(buf,"%s%d",pg,num);
間違っています。
numはchar型配列ですので、%s を指定しないとだめです。
%dが使えるのは、int型変数とかです。
int n = 10;
sprintf(buff, "%d", n);
char型配列に入っているものは %s です。
char n[] = "10";
sprintf(buff, "%s", n);
ですので、
>char pg[] = "http://image.blog/test001.gif";
はchar型配列に入っているから %s ですね。
No.3
- 回答日時:
そもそもbufってどこから出てきました?
testの間違いかとは思いますが。
なお、char[]で宣言して文字列で値を入れている以上、それは数値ではなく文字列であるので%sで表示するのが正しい、というのは既に出ている通りです。
No.1
- 回答日時:
まず、一番の問題点
>(ex)
>char test[256];
>char num[] = "1234567";
>char pg[] = "program";
>
>int i386 = sprintf(buf,"%s%d",pg,num);
この結果を確認しましたか?
>char num[] = "1234567";
は「数『値』」ではなく'1'~'7'までの半角数字の「文字」を使用した「文字列」です。
なので
>char pg[] = "http://image.blog/test001.gif";
も、「文字と数『値』」ではなく、「半角文字列」です。
変換の必要は全くありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# sprintf()の使い方について 1 2022/08/17 16:16
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# C言語について コマンドラインで >変数 12.00 (char型) と、小数点付きの値を共用体に渡 1 2022/04/22 16:56
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字変換アルゴリズムを教...
-
間接参照のレベルが異なっています
-
ランダムな英文字の文字列作成
-
charでの計算?
-
行・列に隣り合う配列の要素を...
-
【C言語】文字型と整数型の違い
-
C言語 ミリ秒を日付に変換には
-
3桁区切(コンマ)記号をつけ...
-
困っています
-
charからLPTSTRへの変換方法
-
文字列から空白を取り除きたい...
-
C言語、このコードを実行したい...
-
gccで最適化オプションを使用し...
-
str系関数を使わずに二つの文字...
-
再帰関数でポインタのインクリ...
-
warning の意味が分からない
-
main の引数には const 付けた方が
-
sprintfの使用方法に関して質問...
-
配列とポインタの使い方
-
const unsigned char *Ptn
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fgetsなどのときのstdinのバッ...
-
C言語について。
-
charでの計算?
-
CStringをwchar_tに変換したい
-
charからLPTSTRへの変換方法
-
文字列から空白を取り除きたい...
-
C言語のfor文です。 繰り返しの...
-
atoi( ) の反対をやりたい
-
double型の値をchar配列に変換...
-
'const char *' 型は 'char *' ...
-
間接操作のレベルとは
-
テキストデータをそのままバイ...
-
型変換
-
3桁区切(コンマ)記号をつけ...
-
C言語のポインターで詰まっている
-
絶対パスからのファイル名の切...
-
str系関数を使わずに二つの文字...
-
配列をnビットシフトする
-
int main()の・・・
-
C言語の入力した文字を反転させ...
おすすめ情報