✅C++ 문자열
C - 스트링 : C 언어에서 문자열을 표현하는 방법
string 클래스 - 문자열을 객체로 다루는 방법, 권장하는 방법
C - 스트링
: 널 문자('\0' 혹은 0)로 끝나는 char 배열, C언어에서 사용하는 문자열 방식
C++에서는 C와의 호환성 때문에 C-스트링을 사용함
C++ 응용 프로그램은 C-스트링을 다루기 위해 C에서 다뤘던 strcpy(), strcmp(),strlen() 등 라이브러리 함수들을 그대로 사용가능하다. <cstring>이나 <string.h> 헤더 파일을 include해야하는데, 일반적으로는 C++표준에 따라 <cstring>헤더 파일을 include한다.
1️⃣ cin을 이용한 문자열 입력
cin과 >>연산자를 통해 간단히 문자열 입력을 받을 수 있다
2️⃣cin과 >> 연산자로 문자열을 입력 받을 때의 허점
>>연산자는 공백 문자(white space character)를 만나면 그 전까지 입력된 문자들을 하나의 문자열로 인식한다.
ex)
이름을 입력하세요 >>> 마 이 클
이름은 마입니다
3️⃣cin.getline()을 이용해 공백이 포함된 문자열 입력
cin.getline(char buf[], int size, char delimitChar)
buf : 키보드로부터 읽은 문자열을 저장할 배열
size : buf[] 배열의 크기
delimitChar : 문자열 입력 끝을 지정하는 구분 문자
예를 들어 다음과 같이 입력을 하면 enter를 치기 전까지는 하나의 문자열로 인식한다.
char address[100];
cin.getline(address, 100, '\n');
++
C++에서의 공백문자(white space character)는 단어나 줄 사이에 사용자가 읽기 쉽도록 삽입하는 문자
C++표준에서는 빈칸(' '), 탭('\t'), 다음 줄로 넘어가기('\n'), 캐리지 리턴('\r'), 폼피드('\f'), 수직 탭('\v')
String 클래스
C-스트링은 크기에 의해 문자열의 크기가 고정되는 불편함이 있지만, string 클래스는 문자열 크기에 제약이 없다.
또한 객체 지향적이며, C - 스트링보다 문자열을 다루기 쉽다
✅ #include<iostream> & 전처리기
C/C++ 컴파일러는 컴파일 전에 전처리기를 실행해 #include문을 모두 처리한다.
전처리기는 #include 문에 지정된 <헤더>의 텍스트를 3include 문이 있던 그 자리에 삽입한다.
<iostream>헤더파일은 컴파일러가 설치된 폴더의 include 폴더에 존재한다.
표준 C++ 헤더 파일은 확장자가 없다. 기존에는 c에서 헤더 파일 확장자를 .h로 붙였는데 더이상은 <cstring>
✅ #include<헤더파일> vs #include "헤더 파일"
전자와 같이 <헤더파일> 인 경우 컴파일러가 설치된 폴더에서 '헤더 파일'을 찾으라는 지시
후자인 #include "헤더 파일"은 개발자의 프로젝트 폴더나 컴파일 옵션으로 지정한 include 폴더에서 '헤더 파일'을 찾도록 지시한다.
cout & cin 모두 <iostream> 헤더 파일에 선언된 객체들이다.
'Language & Framework & GIT > C++' 카테고리의 다른 글
[씨앤씨뿔]C++/ 클래스 & 객체 - 2 (1) | 2023.04.19 |
---|---|
[씨앤씨뿔]C++/ 클래스 & 객체 - 1 (0) | 2023.04.18 |
[씨앤씨뿔]C++/ C++의 기본 - 2 (0) | 2023.04.14 |
[씨앤씨뿔]C++/ C++의 기본 - 1 (0) | 2023.04.13 |
[씨앤씨뿔]C++/ namespace - 2 (1) | 2023.04.13 |
댓글