• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

string length

23.12.20 02:53 작성 조회수 99

1

string a("Hello, World");

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

이렇게 하면 12가 나오는데

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

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

답변 1

답변을 작성해보세요.

1

Soobak님의 프로필

Soobak

2023.12.20

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

 

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

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

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