입력 버퍼2 stringstream 문자열 입력 버퍼, 자료형이 섞인 string 을 다룰때 사용 strigstream 은 여러 자료형이 섞여있는 string 을 입력 받을 때에 필요한 자료형에 맞는 데이터를 꺼낼때 유용하다 다음은 stringstream 을 사용해서 입력된 string 에서 공백 단위로 잘라 벡터에 푸쉬, 인덱스 추가 하는 문제이다 ' : ' 기호를 공백으로 바꾸어 stringstream 버퍼에 저장된 입력 데이터 가공하고 공백을 통해 분리해서 분리된 입력 요소를 num으로 받아 로 벡터에 push_back하여 저장하고, 인덱스로 꺼내 쓸 수 있다 #include using namespace std; int main(){ vector time; string clock="2022:06:22 15:15:30"; for(int i=0; i>num){ time.push_back(num); .. 2022. 6. 22. cin 입력 후 다른 타입의 입력 시 꼭 cin.ignore를 해줘야 한다 정수형 cin을 입력 시, 숫자가 입력 버퍼에 저장되지 않고 바로 변수에 저장이 된다 하지만 문자열을 cin으로 입력 시, 입력 버퍼에 저장한 문자를 읽어서 변수로 저장한다 정수형 변수에 입력중에 문자열 변수가 입력이 되면 문자는 입력버퍼에 저장되고 cin은 이 버퍼의 문자를 정수형 변수에 저장하려고 하므로 정상 저장이 되지않고 에러가 나는 것이다 문자열 입력 시에도 \n 이 입력 버퍼에 남아서 문제가 되곤하니 이전 cin 사용 후 cin 이나 getline 등으로 새로운 자료형의 입력을 받을 때에는 항상 cin.ignore() 를 사용해서 입력버퍼를 비워주고 사용하자 2022. 6. 21. 이전 1 다음