728x90
반응형
2. 문자열
- 배열에 문자열 저장하기
char cat[8]={'f', 'a', 't', 'e', 's', 's', 'a', '\0'};
-> 문자 상수로 초기화 하는 방법, 문자열의 끝에는 \0이 꼭 들어가야 한다.
char fish[] = "Bubbles";
-> 문자열 상수로 초기화 하는 방법, 크기와 \0를 컴파일러가 알아서 처리한다. [간단하고 안전한 방법]
const int Size = 15;
char name1[Size];
char name2[Szie] = "C++owboy";
cout << strlen(name1);
cout << sizeof(name1);
name2[3] = '\0';
cout<<name2<<endl;
cout << strlen(name1); -> 배열에 저장된 문자열의 크기 8[눈에 보이는 문자만]
cout << sizeof(name1); -> 사용하고 있는 메모리의 크기 15[여기선 int Size = 15; 를 말한다]
name2[3] = '\0'; -> 중간에 널문자 삽입시 뒤 배열은 무시한다.
cout<<name2<<endl; -> C++ 출력
- cin의 단점
- 빈칸 / 탭 / 캐리지 리턴 등 스페이스 공간이 있으면 끝난 것으로 간주한다
- 따라서 행 단위의 문자열 입력이 불가능하다
- 행 단위 문자열 입력
- getline()
- 개행 문자를 읽어서 폐기한다.
- get()
- 입력 큐에 개행문자를 남겨둔다.
- getline()
- getline()
cin.getline(name, ArSize);
cin.getline(dessert, ArSize);
-> getline(저장할 배열의 이름, 문자의 개수), enter키로 \n를 대체한다.
- get()
cin.get(name, ArSize).get();
cin.get(dessert, ArSize).get();
-> get() & get()으로 여러 단어를 읽는다.
- 행 단위 입력 방법
//1
cin.getline(name, ArSize);
cin.getline(dessert, ArSize);
//2
cin.get(name,ArSize).get();
cin.get(dessert,ArSize).get();
//3
cin.get(name,ArSize);
cin.get();
cin.get(dessert,ArSize);
-> 셋 다 같은 기능을 수행한다.
- 문자열과 수치의 혼합 입력
//1
cin >> year;
cin.get();
//2
(cin >> year).get();
728x90
반응형
'Programming > C++ 2' 카테고리의 다른 글
[C++] 4장. 복합 데이터형 - (4) 구조체 (0) | 2021.03.27 |
---|---|
[C++] 4장. 복합 데이터형 - (3) String 클래스 (0) | 2021.03.27 |
[C++] 4장. 복합 데이터형 - (1) 배열 (0) | 2021.03.27 |
[C++] 4장. 복합데이터형 개요 (0) | 2021.03.27 |
C++ 공부하기 2 (0) | 2021.03.27 |