일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- EOF
- k-eta
- string 함수
- Django란
- 구조체와 클래스의 공통점 및 차이점
- 2557
- 이분그래프
- getline
- 프레임워크와 라이브러리의 차이
- string 메소드
- 표준 입출력
- correlation coefficient
- 연결요소
- UI한글변경
- 입출력 패턴
- 매크로
- 장고란
- 엑셀
- Django Nodejs 차이점
- 백준
- scanf
- 시간복잡도
- vscode
- Django의 편의성
- double ended queue
- 입/출력
- iOS14
- c++
- 자료구조
- 알고리즘 공부방법
Archives
- Today
- Total
Storage Gonie
(4) C++ 한 줄 입력받기 본문
반응형
# 띄어쓰기로 구분된 입력 각각을 저장하는 법(줄 바꿈 문자를 제외하고 입력받음)
- scanf()
- cin cin을 연속적으로 호출하면 입력받은 한 줄에서 공백을 구분자로 하여 다음 것을 계속해서 가져올 수 있다.
#include <iostream>
using namespace std;
int main(void)
{
char s1[15];
char s2[15];
scanf("%s %s", s1, s2);
cout << s1 << endl;
cout << s2 << endl;
cin >> s1 >> s2;
cout << s1 << endl;
cout << s2 << endl;
}
# 띄어쓰기를 포함하여 통째로 입력을 저장하는 방법1(줄 바꿈 문자를 포함하여 입력받음)
- scanf() 의 [^\n]\n 이용 (scanf는 앞뒤 공백을 무시하므로 한줄 전체를 그대로 받는 데에는 적절치 못하다.)
- cin.getline()
- fgets()
#include <iostream>
using namespace std;
int main(void)
{
char s[15];
scanf("%[^\n]\n", s); // \n으로 끝나는 문자열에서 줄 바꿈 문자를 제거한 문자만 입력받음
cout << s;
cin.getline(s, 20); // 줄 바꿈 문자까지 포함하여 20자를 입력받음
cout << s;
fgets(s, 20, stdin); // 줄 바꿈 문자까지 포함하여 20자를 입력받음
cout << s;
}
# 띄어쓰기를 포함하여 통째로 입력을 저장하는 방법2(줄 바꿈 문자를 제외하고 입력받음)
* 어떤 데이터형(int or char)과 string형을 연달아 입력받을 때 getline 버퍼에 입력된 줄바꿈 문자를 받아들여 버리는데
이를 막기위해서 사이에 getchar()를 삽입해줄 수 있다.
- scanf() (scanf는 앞뒤 공백을 무시하므로 한줄 전체를 그대로 받는 데에는 적절치 못하다.)
- getline() string을 사용할 수 있어서 가장편리함
char s[15];
scanf("%[^\n]\n", s); // 줄 바꿈 문자를 제거한 문자만 입력받음
cout << s;
string str;
getline(cin, str); // getline(cin, str, '\n')과 같음
cout << str;
반응형
'알고리즘 > 문제해결을 위한 C++ 공부' 카테고리의 다른 글
(6) C++ char 형 사용법 한번에 끝내기 (1) | 2019.04.20 |
---|---|
(5) C++ string 클래스 사용법 한번에 끝내기 (4) | 2019.04.19 |
(3) scanf의 다양한 사용법 (0) | 2019.04.18 |
(2) C++ 입출력 문법 (0) | 2019.04.18 |
(1) C++ 기초 폼 (0) | 2019.04.18 |
Comments