string 입력시의 여러 문제점 해결방법...? (c++)
글쓴이: izlley / 작성시간: 수, 2003/04/09 - 11:48오후
전산과 학생인데여 프로그래밍중에 의문점이 생겨서 질문드립니다...
#include <iostream.h> int main() { char a[10], b[10], c[10]; while(1) { cout <<"a= "; cin >> a; //cin으로 입력받은후에 //cin.ignore(); cout <<"b= "; cin.getline(b, 10, '\n'); // <-- 그냥 넘어가버림 하지만 ignore로 해결가능. //허나 10이상입력하면 다음 getline입력 불가능 cout <<"c= "; cin.getline(c, 10, '\n'); cout <<'\n'<< a <<' '<< b<<' '<< c <<'\n'; } return 1; } 제가 질문드리고 싶은것은 : 1. cin후에 getline을 하는경우 입력버퍼 아직남아있는 '\n'문자 제거방법?(ignore로 해결했으나 다른 좋은 방법이 있을듯하네요) 2. getline다음에 다시getline시에 첫번째 getline에 제한을 초과하여 입력하면 두번째 getline은 입력을 받지못하고 그냥 첫번째 제한 초과된 나머지 문자열들을 저장 시키는문제 해결 입니다. / *string을 다룰시 항상 이상한 에러가 많이나서 골치가 아픕니다; *해결좀 해주세여... thanks. ^^/ * /
Forums:
fflush()로 stdin을 비워버리면 되지않을까요?-_-..머 그
fflush()로 stdin을 비워버리면 되지않을까요?-_-..
머 그게 그방법인듯하지만..그리고 별로 좋지않다는 얘기도..;;
그리고 string이나 vector말고 꼭 char 를 써야되는건지요
10개까지만 받으려면 while로 돌리면서 하나하나씩 받으면 될것같은데..
10개 넘으면 char b[10]에 담으면 되겠지요;;
댓글 달기