강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

나그네님의 프로필 이미지
나그네

작성한 질문수

홍정모의 따라하며 배우는 C++

string length

작성

·

185

1

string a("Hello, World");

cout << a.length() << endl;

이렇게 하면 12가 나오는데

여기서 12는 빈칸(Hello, 와 World 사이에 있는 것)이 포함된 건가요 아님 World뒤에 있는 nullptr이 포함되어서 12인가요?

Hello,는 6글자 World는 5글자인데 12가 나온 게 헷갈려서요..

답변 1

1

안녕하세요, 답변 도우미 Soobak 입니다.

 

공백 문자가 포함된 것입니다.

C++ 에서 string 객체의 length() 멤버 함수를 사용할 때 반환되는 값은 문자열의 실제 길이입니다.
이 길이에는 문자열의 모든 문자가 포함되며, 여기에는 공백 문자(space, ASCII 코드 값 32)도 포함됩니다.
하지만, 널 문자('\0')는 포함되지 않습니다.

추가적으로, 질문에서 말씀하신 nullptr 과 널 문자 ('\0')는 다릅니다.

나그네님의 프로필 이미지
나그네

작성한 질문수

질문하기