1. ホーム
  2. c

[解決済み] C言語で文字列とintを連結する方法は?

2023-06-11 03:05:27

質問

ループの各反復の中で、ループのインデックスを含む文字列を形成する必要があります。 i :

for(i=0;i<100;i++) {
  // Shown in java-like code which I need working in c!

  String prefix = "pre_";
  String suffix = "_suff";

  // This is the string I need formed:
  //  e.g. "pre_3_suff"
  String result = prefix + i + suffix;
}

をいろいろと組み合わせて使ってみました。 strcatitoa を追加しました。

どのように解決するのですか?

C言語では文字列は大変な作業です。

#include <stdio.h>

int main()
{
   int i;
   char buf[12];

   for (i = 0; i < 100; i++) {
      snprintf(buf, 12, "pre_%d_suff", i); // puts string into buffer
      printf("%s\n", buf); // outputs so you can see it
   }
}

12 はテキストを格納するのに十分なバイト数です。 "pre_" は、テキストを "_suff" , 2文字以内の文字列 ( "99" ) と、C言語の文字列バッファの最後に付くNULLターミネータです。

これは を使用する方法を説明します。 snprintf しかし、私は良いCの本をお勧めします