두 문자열 사이의 연결에 대한 기능/일반적인 방법이 있습니까, 문자열 2는 string1에 지정된 위치에 나타 납니까?
아니요, 없습니다.
많은 접근법을 사용하여 원하는 것을 달성 할 수 있습니다. 한 가지 방법은 sprintf
을 사용하는 것입니다.
char str[100];
sprintf(str,"I %s love Gyros", "don't");
또 다른 방법은 당신이 필요로하는 양만큼 오른쪽으로 str
의 내용을 이동하고 중간 요소의 값을 설정하는 것입니다.
#include <stdio.h>
#include <string.h>
void insertInString(char* str1, size_t pos, char const* str2)
{
size_t len1 = strlen(str1);
size_t len2 = strlen(str2);
size_t i = 0;
// Shift the contents of str1
for (i = len1; i >= pos; --i)
{
str1[i+len2] = str1[i];
}
// Now place the contents of str2 starting from pos
for (i = 0; i < len2; ++i)
{
str1[i+pos] = str2[i];
}
}
int main()
{
char str[100] = "I love Gyros";
insertInString(str, 2, "don't ");
printf("%s\n", str);
return 0;
}
아 감사합니다. 나는 이것을 나의 실제 필요에 맞게 구성했다. –