C++cin,cin.get(),cin.getline(),getline(),gets()함수 사용 에 대한 자세 한 설명

1、cin 2、cin.get() 3、cin.getline() 4、getline() 5、gets() 6、getchar()
첨부:cin.ignore(); cin.get()/원 하지 않 는 리 턴,빈 칸 등 문자 건 너 뛰 기
1、cin>>         
용법 1:가장 기본 적 이 고 가장 자주 사용 하 는 용법 입 니 다.숫자 를 입력 하 십시오.
#include using namespace std; main () {    int a,b;    cin>>a>>b;    cout<입력:2[Enter]3[Enter]출력:5
메모:>>는 보이 지 않 는 문자(예 를 들 어 빈 칸 리 턴,TAB 등)를 걸 러 냅 니 다 cin>>noskipws>>input[j];/공백 문 자 를 생략 하고 싶 지 않 으 면 noskipws 흐름 제어 사용 하기
용법 2:문자열 을 받 아들 이 고'빈 칸','TAB','리 턴'이 모두 끝 납 니 다.
#include using namespace std; main () {    char a[20];    cin>>a;    cout<입력:jkljkljkl 출력:jkljkljkljkl
입력:jkljkl jkljkl       //스페이스 바 종료 출력:jkljkl
2、cin.get()
용법 1:cin.get(문자 변수 이름)은 문 자 를 받 을 수 있 습 니 다.
#include using namespace std; main () {    char ch;    ch=cin.get();               //또는 cin.get(ch);   cout<입력:jljkljkl 출력:j
용법 2:cin.get(문자 배열 이름,수신 문자 수)은 문자열 을 받 을 때 빈 칸 을 받 을 수 있 습 니 다.
#include using namespace std; main () {     char a[20];     cin.get(a,20);     cout<입력:jkl jkl 출력:jkl jkl jkl
입력:abcdeabcdeabcdeabcdeabcde(25 글자 입력)출력:abcdeabcdeabcdeabcdeabcd              (19 글자+1 개'\0'수신)
용법 3:cin.get(인자 없 음)은 입력 흐름 에 필요 하지 않 은 문 자 를 버 리 거나 리 턴 을 버 리 고 cin.get(문자 배열 이름,수신 문자 수)의 부족 함 을 보완 하 는 인자 가 없습니다.(cin.get()은 입력 버퍼 에 줄 바 꿈 자 를 보관 하기 때문에 cin.get()으로 줄 바 꿈 자 를 버 릴 수 있 습 니 다)
3、cin.getline()   // 빈 칸 을 받 아들 이 고 출력 할 수 있 는 문자열 을 받 아들 입 니 다.
#include using namespace std; main () {     char m[20];     cin.getline(m,5);     cout<입력:jkljkljkl 출력:jklj
m 에 5 자 를 받 아들 이 고 그 중 마지막 하 나 는'\0'이기 때문에 4 글자 출력 만 볼 수 있 습 니 다.
5 를 20 으로 바 꾸 면:입력:jkljkljkl 출력:jkljkljkljkl
입력:jklf fjlsjf fjsdklf 출력:jklf fjlsjf fjsdklf
//연장:/cin.getline()은 실제 세 개의 매개 변수 가 있 습 니 다.cin.getline(문자열 의 저장 공간 m,수용 개수 5,끝 문자)//세 번 째 매개 변 수 를 생략 할 때 시스템 기본 값 은'//예 에서 cin.getline()을 cin.getline(m,5,')으로 바 꾸 면 됩 니 다.jlkjkljkl 을 입력 할 때 jklj 를 출력 하고 jkaljkljkl 을 입력 할 때 jk 를 출력 합 니 다.이때 cin 의 상태 표지 위치 false(입력 한 개수 가 받 아들 인 개 수 를 초과 하면 정확 한 끝 이 아니 라 고 생각 합 니 다.이 어 getline()함수 가 필요 하 다 면 cin.clear())가 필요 합 니 다.
다 차원 배열 에 사용 할 때 cin.getline(m[i],20)과 같은 용법 을 사용 할 수 있 습 니 다.
#include #include using namespace std;
main () {     char m[3][20];     for(int i=0;i<3;i++)     {          cout<<<"제 를 입력 하 십시오"    cout<}
첫 번 째 문자열 을 입력 하 십시오:kskr 1
두 번 째 문자열 을 입력 하 십시오:kskr 2
세 번 째 문자열 을 입력 하 십시오:kskr 3
출력 m[0]의 값:kskr 1 출력 m[1]의 값:kskr 2 출력 m[2]의 값:kskr 3
4、getline()     // 문자열 을 받 아들 이면 빈 칸 을 받 아들 이 고 출력 할 수 있 습 니 다."\#include"을 포함 해 야 합 니 다.
#include #include using namespace std; main () {       string str;       getline(cin,str);       cout<입력:jkljkljkl 출력:jkljkljkljkl
입력:jkl jfksldfj jklsjfl 출력:jkl jfksldfj jklsjfl
cin.getline()과 유사 하지만 cin.getline()은 istream 흐름 에 속 하고 getline()은 string 흐름 에 속 하 며 서로 다른 두 함수 입 니 다.

좋은 웹페이지 즐겨찾기