[백준] 11718번 : 그대로 출력하기 - (C++)

2023. 4. 10. 22:19·Programming/C++ - 백준
반응형


문제


풀이

cin은 공백 이전까지만 입력을 받으므로, 공백을 포함한 입력은 받을 수 없다. 따라서, getline 함수를 이용한다.


코드

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

int main(){
    string str;
    
    while (true){
        getline(cin, str);
        if (str == ""){
            break;
        }
        cout << str << endl;
    }
}

개념

- getline 함수: istream 라이브러리의 cin.getline 함수와 string 라이브러리 getline 함수가 있다.

 


→ istream 라이브러리의 cin.getline() 함수

 

cin.getline(char* str, streamsize n);
cin.getline(char* str, streamsize n, char dlim);

 

  •  cin.getline(변수 주소, 최대 입력 가능 문자 수, 제한자)
  •  char*형의 문자열을 받을 경우에 사용 가능, string 형을 사용하면 오류 발생
  •  문자열의 끝에는 NULL 문자인 '\0'이 자동 삽입된다.
  •  n-1개의 문자 개수만큼 str에 저장되며, n번째 문자는 NULL('\0')로 바뀐다.
  •  예를 들어, n이 5이고, 0, 1, 2, 3, 4을 입력한다면, 0부터 3까지 str에 저장된다. str[4]에는 '\0'이 들어간다.
  •  dlim(제한자)을 지정한다면, dlim 문자 직전까지 읽어 str에 저장한다.
  •  별도로 dlim을 지정하지 않는다면, 개행문자(줄바꿈, '\n')로 인식한다.

 

 

→ string 라이브러리의 getline() 함수

 

getline(istream& is, string str);
getline(istream& is, string str, char dlim);

 

  • getline(입력스트림, string 객체, 구분자)
  •  string형을 받을 경우에 사용 가능, 공백이 포함된 문자열을 입력받을 수 있다.
  •  최대 문자 수를 입력하지 않아도 되며, 지정한 dlim(구분자)까지 문자열을 입력받아 string에 저장한다.
  •  주의사항: 표준 입력 버퍼에 개행문자 '\n'이 남아있기 때문에, getline() 함수 앞에 cin.ignore() 함수를 이용해 버퍼를 비워주어야 한다.

 


결과

 

 

11718번: 그대로 출력하기

입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시

www.acmicpc.net

 

반응형
저작자표시 (새창열림)

'Programming > C++ - 백준' 카테고리의 다른 글

[백준] 11720번 : 숫자의 합 | 아스키코드 (C++)  (1) 2023.04.11
[백준] 11719번 : 그대로 출력하기 2 - (C++)  (0) 2023.04.11
[백준] 11022번 : 'A+B - 8' - (C++)  (1) 2023.04.09
[백준] 11021번 : 'A+B - 7' - (C++)  (2) 2023.04.08
[백준] 10953번 : 'A+B - 6' - (C++)  (2) 2023.04.08
'Programming/C++ - 백준' 카테고리의 다른 글
  • [백준] 11720번 : 숫자의 합 | 아스키코드 (C++)
  • [백준] 11719번 : 그대로 출력하기 2 - (C++)
  • [백준] 11022번 : 'A+B - 8' - (C++)
  • [백준] 11021번 : 'A+B - 7' - (C++)
지구코드
지구코드
IT를 공부하고 있는 지구의 코딩공간입니다!
  • 지구코드
    지구의 코딩공간
    지구코드
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 개발 기록
      • Back-end
        • Spring
        • Django
      • Programming
        • 알고리즘
        • C++ - 백준
      • Cloud
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    프디아
    k디지털트레이닝
    신한투자증권
    pair 클래스
    EC2
    edgelocation
    피보나치 수
    부분 문자열 추출
    백준
    dp
    정렬
    AWS
    이진탐색
    구조체 벡터
    다이내믹 프로그래밍
    시간복잡도
    fill 함수
    부트캠프
    별 찍기
    binary_search
    awscloudclubs
    알파코캠퍼스
    알파코
    C++
    Cloud
    슬라이딩윈도우
    큐
    시간초과
    KDT교육
    프로디지털아카데미
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
지구코드
[백준] 11718번 : 그대로 출력하기 - (C++)
상단으로

티스토리툴바