IT박스

C에서 문자열과 정수를 연결하는 방법은 무엇입니까?

itboxs 2020. 11. 28. 08:53
반응형

C에서 문자열과 정수를 연결하는 방법은 무엇입니까?


루프 인덱스를 포함하는 루프의 각 반복 내부에 문자열을 형성해야합니다 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;
}

나는 다양한 조합을 사용하여 시도 strcat하고 itoa행운과 함께합니다.


문자열은 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", 두 개의 문자 (최대 문자열 "99")와 C 문자열 버퍼의 끝에가는 NULL 종결.

이것은 사용 방법을 알려줄 snprintf것이지만 좋은 C 책을 제안합니다!


형식 string과 함께 사용하십시오 sprintf(또는 snprintf나와 같은 경우 셀 수 없습니다) "pre_%d_suff".

itoa / strcat을 사용하면 다음과 같이 할 수 있습니다.

char dst[12] = "pre_";
itoa(i, dst+4, 10);
strcat(dst, "_suff");

현재 snprintf GNU 확장은 OK, 경우, 또는 asprintf (당신을 위해 메모리를 할당 할 것이다).

참고 URL : https://stackoverflow.com/questions/5172107/how-to-concatenate-string-and-int-in-c

반응형