[C++] 공백 포함 한 줄 입력 받기 getline(cin,str,dlim);

넘칠 연·2023년 7월 18일
1

C++

목록 보기
2/3

C++에서 한 줄('\n) 단위로 입력받고 싶을 때 헤더파일의 getline을 사용할 수 있습니다.

공백으로 시작해도 그대로 입력받습니다.

cin.getline은 , getline은 으로 헤더파일,문법 차이가 있습니다

0. 헤더파일

#include <string>

1. 한 줄로 입력 받기

string str;
getline(cin, str, '.');
//(cin, 저장할 곳, 구분자(delimiter))를 파라미터로 갖습니다.

getline(cin, str);
//구분자(dlim)는 생략 가능합니다.
//생략한다면, 개행'\n'으로 자동 설정됩니다.

2. while 반복문에서 특정 문자 입력 또는 EOF 시 break 또는 continue

if(str==".")
    continue;
//원하는 문자 또는 문자열을 받았을 때 지나칠 수 있습니다.

if(cin.eof()) //반환값이 Boolean 타입입니다.
    break;
//EOF일 때 탈출할 수 있습니다.
//while(cin.eof()) 처럼 반복문의 조건에 설정해도 됩니다.

3. 예시

#include <iostream>
#include <string>
using namespace std;

int main() {
    while(cin.eof()) {
        string str;
        getline(cin, str, '.');
        cout << str << '\n';
    }
    return 0;
}

4. 추천 문제

BOJ 11718 (B5) 그대로 출력하기

//https://www.acmicpc.net/problem/11718

BOJ 4949 (S4) 균형잡힌 세상

//https://www.acmicpc.net/problem/4949

5. 출처

//3. c++ 한줄 입력
//https://velog.io/@kth811/3.-c-%ED%95%9C%EC%A4%84-%EC%9E%85%EB%A0%A5

//[C++] 입력받기(cin, get, getline)
//https://bullie.tistory.com/21
profile
멋지게 될 기회를 놓치지 말라 - 티나 실리그

2개의 댓글

comment-user-thumbnail
2023년 7월 18일

많은 도움이 되었습니다, 감사합니다.

1개의 답글

관련 채용 정보