728x90
반응형
안녕하세요. 스마트팩토리입니다.
c 언어[026] 문자열과 배열(3) strcpy:문자열 복사, strcat(문자열 추가), 문자열 초기화에 대해 알아보겠습니다.
1.문자열 복사(strcpy)
가. 문자열 복사
(1)strcpy 형식
strcpy(a1, a2) ;
a1에 a2 값을 복사한다.
str[]은 love
strcopy 에는 no를 저장했습니다.
strcpy(strcopy, str);을 하면
strcopy에 str문자열을 복사하게 됩니다.
#include<stdio.h>
#include<string.h>
int main() {
char str[] = "love";
char strcopy[10]="no";
printf("str[] 출력값 %s,strcopy: %s\n ", str, strcopy);
strcpy_s(strcopy, str);
printf("str[] 출력값 %s,strcopy: %s\n ", str, strcopy);
}
str[0]='y';
str[0]을 y로 변경했습니다. 복사본인 strcopy 그대로 유지되고 str만 변경된 것을 알 수 있습니다.
#include<stdio.h>
#include<string.h>
int main() {
char str[] = "love";
char strcopy[10]="no";
printf("str[] 출력값 %s,strcopy: %s\n ", str, strcopy);
strcpy_s(strcopy, str);
printf("str[] 출력값 %s,strcopy: %s\n ", str, strcopy);
str[0]='y';
printf("str[] 출력값 %s,strcopy: %s\n ", str, strcopy);
}
,나. 문자열 추가
(1) strcat
strcat형식
strcat(a1,"추가할 문장");
char str[50] = "love";
str[50]으로 해서 love를 출력합니다.
이후에 문장열을 추가하려면 인덱스 별로 한글자씩 넣어줘야 하는 방법이 있지만 그건 비효율적입니다.
strcat_s(str, " forever");
strcat함수를 활용하여 문자열 추가를 할 수 있습니다.
#include<stdio.h>
#include<string.h>
int main() {
char str[50] = "love";
printf("str[] 출력값 %s\n ", str);
strcat_s(str, " forever");
printf("str[] 출력값 %s\n ", str);
}
다. 문자열 초기화
문자열에 공백 즉 초기화를 위해서는 반복문을 활용하여 각 인덱스에 0 값을 넣어주면 됩니다.
for (int i = 0; i <= strlen(str); i++)
{str[i] =0;}
printf("str[] 출력값 %s\n ", str);
#include<stdio.h>
#include<string.h>
int main() {
char str[50] = "love";
printf("str[] 출력값 %s\n ", str);
strcat_s(str, " forever");
printf("str[] 출력값 %s\n ", str);
for (int i = 0; i <= strlen(str); i++)
{
str[i] =0;
}
printf("str[] 출력값 %s\n ", str);
//printf("str[] 출력값 %d\n ", str);
}
728x90
반응형
'C 언어' 카테고리의 다른 글
c 언어[028] 배열(array)과 포인터( pointer)- 포인터 배열 (0) | 2021.10.07 |
---|---|
c 언어[027] 배열(array)과 포인터( pointer) (0) | 2021.10.06 |
c 언어[025] 문자열과 배열(2) strlen 문자열크기, 배열크기 (0) | 2021.10.04 |
c 언어[024] 문자열과 배열(1) 문자열 출력 char arr[100] = { 'H','e','l','l','o' }; char arr1[100] = "hello \n"; (0) | 2021.10.03 |
c 언어[023] 배열 원소값 입력하고 배열 원소중 최대값(Max), 최소값(Min) 출력 (0) | 2021.10.02 |
댓글