프로그래밍 언어/C++
[C/C++ 2.1] char, string 문자열 입력받기
물꼮이
2022. 3. 10. 09:57
char 배열 선언
1. 작은 따옴표 사용
char arr[3] = { 'm','i','n' };
- 작은 따옴표로 한 글자씩 입력
2. 큰 따옴표 사용
char vect[9] = "MINQUEST"; // 8글자
- 큰 따옴표로 한꺼번에 입력
- 배열 크기 = [ 문자개수 + 1개 (NULL 문자 위치) ] 를 입력하게됨
* 문자열을 char arr[9] ='abcd' 와 같이 작은따옴표로 입력 하면 오류발생한다!!
// 기존 방법 : char vect[5] = { 'A', 'B', 'C', 'D', '\0' };
// 더 쉬운 방법 : char vect[5] = "ABCD";
// 이렇게 하게 되면 문자열 끝에 NULL문자가 자동으로 들어갑니다.
// C언어 규칙에 따라 문자열 마지막에는 NULL문자가 있어야 된 다는 것을 알아두세요.
// char vect[3] = "BBQ"; //버그발생 : NULL문자 넣을 공간이 없음
// char vect[4] = "BBQ"; //정상 소스코드
char 배열 입력받기
char vect[100];
cin >> vect;
- 이렇게 입력받아도, vect 의 끝엔 항상 NULL문자가 들어선다!
char arr[4][7];
//입력 ***
for (int i = 0; i < 4; i++) { //2차원 배열에 문장 여러개 넣는 법
cin >> arr[i]; // 이렇게 하면 한 LINE 씩 들어감
}
char 배열 출력하기
- for문으로 한칸씩 돌지 않아도, 다음과 같이 간단히 출력할 수 있다.
cout << arr;
공백이 있는 것 / 없는 것
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
cin >> s; // 공백이 없는 "asdf"
getline(cin, s); // "a s d f"
cout << s;
cout << "\n";
char arr[100]; // "a s d f"
cin.getline(arr, 100);
return 0;
}