본문 바로가기
알고리즘/codeup 기초 100제

1022 : [기초-입출력] 문장 1개 입력받아 그대로 출력하기(설명)

by 머리올리자 2021. 1. 19.
더보기

공백 문자가 포함되어 있는 문장을 입력받고 그대로 출력하는 연습을 해보자.

예시
char data[2001];
fgets(data, 2000, stdin);
printf("%s", data);

위와 같이 실행하면 공백이 포함된 문장을 키보드(stdin)로 입력받아
최대 2000자까지 data[ ] 공간에 저장하고 출력할 수 있다.

%s 는 문자열(string, 실로 연결된 문자들. 문장)로 출력하라는 의미이다.

참고
fgets( ) 를 사용하면 공백문자가 포함되어잇는 문장을 입력받아 저장할 수 있다.
만약, 아래처럼
scanf("%s", ... ) 를 이용해 문장을 입력받으면, 첫 번째 단어까지만 저장된다.

char data[51] = ""; //최대 50문자까지 저장 가능
scanf("%s", data);

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

int main(void)
{
	string str;
	getline(cin, str);
	cout << str << endl;
	return 0;
}

 

getline(cin, str) or getline(cin, str, delim)

 

입력 스트림(cin)에서 문자들을 읽어서, 이 문자들을 인자로 받은 문자열에 저장

 

delim는 구분자로 이 문자에 도달하면 입력 스트림이 종료되며 default는 \n이다.