C_C++

(C언어) 문자열의 지정된 위치에 다른 문자열 삽입하기

고니자니 2023. 6. 6. 17:28
반응형

다음 코드는 원본 문자열 original에 새로운 문자열 insert를 지정한 위치에 삽입하는 C언어 코드입니다.

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <string.h>

void insertString(char* original, const char* insert, int position) 
{
    int originalLength = strlen(original);
    int insertLength = strlen(insert);
    int newLength = originalLength + insertLength;

    // 삽입할 문자열을 위한 공간 확보
    char temp[100];

    // 삽입 위치 이전까지의 문자열 복사
    strncpy(temp, original, position);

    // 삽입할 문자열 복사
    strncpy(temp + position, insert, insertLength);

    // 삽입 위치 이후의 문자열 복사
    strncpy(temp + position + insertLength, original + position, originalLength - position);

    temp[newLength] = '\0';

    // 결과를 원래 문자열에 복사
    strcpy(original, temp);
}

int main() 
{
    char str[100] = "Hello World!";
    char str2[] = "beautiful ";

    insertString(str, str2, 6);  // 6:삽입 위치

    printf("결과: %s\n", str);

    return 0;
}

(C언어) 문자열의 지정된 위치에 다른 문자열 삽입하기

반응형