C 스타일 문자열

C 스타일 문자열

문자 배열을 문자열처럼 쓰려면 마지막에 \0이 있어야 하며, 버퍼 크기와 관련 함수의 동작을 주의해야 합니다.

배열

문자를 연속 저장

char 배열은 여러 문자를 순서대로 담고 마지막 널 문자가 문자열의 끝을 알립니다.

char s[6]
초기화

문자열 리터럴 사용

큰따옴표로 초기화하면 컴파일러가 끝의 널 문자를 함께 넣습니다.

"hello"
입출력

공백 처리 차이

>>는 공백 전까지 읽고 getline류 함수는 줄 단위 입력에 더 적합합니다.

cin >> s
함수

cstring 계열 사용

strlen, strcpy, strcmp는 버퍼와 널 문자 규칙을 전제로 동작합니다.

strlen(s)
버퍼 크기복사할 문자열 길이보다 배열이 작으면 범위 밖 쓰기로 이어질 수 있습니다.
널 문자끝 표시가 없으면 함수가 다음 메모리까지 문자열로 오해해 읽을 수 있습니다.
현대 대안일반 텍스트 처리는 std::string이 크기 관리와 연산 면에서 더 안전하고 편합니다.