728x90

테스트 환경 : 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 문자열일 경우 == 연산자를 사용할 수 있다.

}



블로그 이미지

Link2Me

,