티스토리 뷰
std::cin이란?
- C++ 에서 입력을 받을 수 있도록 하는 기능 ( #import istream )
- std::cin은 기본적으로 공백을 기준으로 입력을 받는다
- 공백 : 개행 ( \n ) , 공백 (space bar) , 탭 (tap)
#import <istream>
int main(void)
{
int num;
string str;
std::cin >> num >> str;
// 입력 : 2 string
std::cout >> num >> endl >> str >> endl;
//출력
// 2 \n string
return 0;
}
주의할점
1. 입력버퍼와 입력 상태값을 가진다 ( cin 은 하나의 객체 )
2. 잘못 입력값이 들어갔을 경우 위의 2가지를 변경시켜주어야 한다.
- 상태 값 변경하는 방법
- std::cin.clear()
- 입력 버퍼 비우는 방법
- std::cin.get()
- 혹은
- std::cin.ignore(size, 원하는 문자가 나올때까지) // 디폴트 값 : std::cin.ignore(1, EOF)
#include <iostream>
int main(void)
{
int num;
std::cin >> num;
while(std::cin.fail())
{
std::cin.clear();
while (std::cin.get() != '\n')
{
continue;
}
// 혹은 std::cin.ignore(size, '\n');
// size 의 경우는 : constexpr auto max_size = std::numeric_limits<std::streamsize>::max();
// 스트림 사이즈의 최대값을 size로 설정 (전체 버퍼값중에서 '\n' 찾기 -> 해당 부분까지 무시)
std::cin >> num;
}
std::cout << num;
}
'프로그래밍 언어 > C++' 카테고리의 다른 글
자료형 (0) | 2024.06.21 |
---|---|
배열 (0) | 2024.05.31 |
C++ string 라이브러리 (0) | 2024.05.29 |
범위 기반 for 문 (2) | 2024.05.15 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- DFS
- 검증
- SQL
- 알고리즘
- bean
- 오블완
- 포트폴리오
- 예외처리
- 게시판 프로젝트
- 타입변환
- stack
- 이진탐색
- 게시판
- 정렬
- 깊이우선탐색
- Thymeleaf
- BFS
- 우선순위 큐
- HTML5
- 기술면접
- db
- 백준
- 클래스
- 버블정렬
- 티스토리챌린지
- Java
- JSON
- JDBC
- Spring
- 코딩테스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함