0

intxと charがありcます。str「x c」という新しい文字列を作成したいと思います。int、スペース、およびcharです。

たとえば、次のようになります。

x = 5, c = 'k'

//concatenate int and char with a space in between.

したがって、行printf("%s", str)は次のように出力されます。

5 k

Cコードでこれを行うにはどうすればよいですか?

4

4 に答える 4

3

sprintfまたはを使用snprintfして、バッファーが常に十分な大きさであるという前提でビルドされるコードの安全性を回避します。

char str[100];
sprintf(str, 100, "%d %c", x, c);

ただし、strwill の唯一の目的が で使用することである場合はprintfprintf直接:

printf("%d %c", x, c);

... 「この関数はANSI-C で定義されておらず、C++ の一部ではないためitoa、使用しないでください。

これらの質問も役立つかもしれません:
C で int を文字列に変換する方法
c で int を文字列に変換する

于 2013-02-16T23:40:01.923 に答える
1
char tmp[32]={0x0};
sprintf(tmp, "%d %c", x, c);
printf("%s\n", tmp);

また

printf("%d %c\n", x, c);
于 2013-02-16T23:39:40.970 に答える
1

sprintf() はあなたが望むことをすることができます:

sprintf(str, "%d %c", x, c);
于 2013-02-16T23:40:09.810 に答える
1

情報を出力したいので、最初にデータを文字列に変換する理由はありません (私にはわかります)。印刷するだけです:

printf("%d %c", x, c);
于 2013-02-16T23:41:02.857 に答える