테스트 환경 : Visual Studio 2019 Community
동영상 강좌에 나오는 strcpy, strcat 함수는 에러를 뿌리면서 실행이 안된다.
strcpy_s, strcat_s 를 사용하라고 나온다.
#include <stdio.h> #include <string.h>
int main(int argc, char* argv[]) { char str[100] = "Hello "; char stra[100];
int len; len = strlen(str); printf("str의 문자열의 길이는 %d\n", len);
strcpy_s(stra, str); printf("str2의 값 : %s\n", stra);
strcat_s(str, "World!"); printf("%s\n", str);
char str3[] = "sample"; char str4[] = "simple";
int cmp = strcmp(str3, str4); // 둘다 같으면 0 반환, str3가 str4보다 앞에 있으면 -1, 뒤에 있으면 1을 반환 // a가 i보다 앞에 있어 아스키코드값이 작기 때문에 -1이 반환한다.
// 값을 비교할 때 보통 == 연산자를 이용하여 동일 여부를 비교한다. // 하지만 문자열의 경우 == 연산자를 사용하면 원치 않는 결과를 가져올 수 있다. // 이는 같은 값일지라도 저장된 메모리 주소가 다르기 때문이다. // char 배열을 이용한 문자열의 경우 변수는 주소를 가리키므로, strcmp()함수를 이용한다. // 하지만 C++ 에서는 string 문자열일 경우 == 연산자를 사용할 수 있다.
}
|