[C 언어] 문자열 만들기
- 카테고리 없음
- 2020. 11. 27.
문자열 사용하기
문자열 사용하기 코드
#include<stdio.h>
#include<string.h>
void main()
{
char name[] = "Superman";
char name2[20] = { 's','u','p','e','r' };
char name3[20];
int cmp;
name3[0] = 's';
name3[1] = 'u';
name3[2] = 'p';
name3[3] = 'e';
name3[4] = 'r';
name3[5] = '\0';
//byte 크기를 알려준다.
//문자열의 끝엔 항상 null이 들어간다.
//그러므로 8글자이면서 byte 크기가 9가 나온다.
printf("name size = %d\n", sizeof(name));
printf("name2 size = %d\n", sizeof(name2));
printf("name3 size = %d\n", sizeof(name3));
printf("%s\t%s\t%s\n", name, name2, name3);
//실제 문자열의 길이를 리턴 그러므로 null을 제외한다.
printf("name len = %d\n", strlen(name));
printf("name2 len = %d\n", strlen(name2));
//name2 = name; //error 주소를 담고 있으므로 이 방식은 잘 못 되었다.
//복사 하는 방법
strcpy(name2, name); //복사 하는 방법
printf("%s\n%s\n", name, name2);
//문자열 비교 함수
//0 나올 경우는 같다. 0이 아니면 다르다.
cmp = strcmp(name2, name);
//결과는 0이 나온다.
printf("%d\n", cmp);
//name2의 값을 바꾼다.
strcpy(name2, "batman");
cmp = strcmp(name2, name);
//결과는 1이 나온다.
printf("%d\n", cmp);
//문자열 결합함수
strcat(name2, name);
//문자열 결합할 때 오버플로우를 조심해야 한다.
//visual Studio는 자동으로 크기를 조절해주지만, 다른 틀에서 제공 안 할 수도 있다.
printf("%s\n%s\n", name, name2);
}
반응형