CIN, cin.get () cin.getline ()의 getline ()의 차이를 이용하여 약 4 일 노트

PAT를 오류의 중간에 대해 (1)

: 문자 배열 오차를 이용하여
, 숯 STR [256]
주어진 실수하고 C ++ 문자열 사용
:로
, 문자열 STR을
문자 배열처럼 첨자는 하나의 문자를 선택하는 데 사용될 수
있지만, 차이가, 판정된다 글자
숯 STR [256] 상기 LEN을 사용 나 strlen = INT (STR)
문자열 STR 사용 INT LEN = str.length ();

하여 출력 CIN, cin.get () cin.getline ()의 getline 약 2. ()

머리말

PATB1033 오래된 키보드 입력 (20 점)함으로써, 오답가 해결되지 않은이
단지 19분했다, 당황
STR >> 다음 내가 CIN;의 getline 한 바뀌 (CIN, STR) 문제 해결
CIN .getline ()과의 getline ()는 서로 다른 두 가지입니다.
cin.getline는 ()의 #include 인
그리고의 getline은 (CIN은 STR) 사용법 : 문자열을 수신하고, 출력 공간을 수신 할 수있다 "#INCLUDE를 포함해야 "

1. 진

종료 조건 : 입력] [공간] [탭]
방법 : 버퍼 [입력] [공간]에서 발생 CIN [탭] 현재의 입력을 종료한다
[Enter] 키와 포기 [공간] [탭], 다음 입력을 계속
연속 [공간]이 때, [입력 [ 탭] 모두 폐기된다.

2. cin.get ()

구문 1 : A = cin.get () 또는 cin.get (a)
최종 상태 : 입력 조건의 문자 수를 만족하는 경우에만, 즉, 충분한 입력 문자, 캐리지 리턴 후
다음 전송이 종료된다. , [공간]을 [입력] [탭] 폐기되지 않을 것이다.
설명 : 이것은 단일 문자 입력은 문자 입력이 ASCALL있는 코드로 저장되고 사용

구문 2 : 문자 입력 arrayname에 cin.get (arrayname, 크기), 길이 사이즈를 초과하지 않는
참고 : arrayname 숯불 [], 숯 어레이 형, 즉,하지 문자열 형해야 크기, 즉, 허용 입력의 길이를 말한다 입력의 최대 길이.
처리 방법은 입력 데이터가 [arraylength, 배열 길이 arraylength 숯불을 가정한다. cin.get (a, 크기) --- 크기 , arraylength는 네 가지 범주로 나누어 질 수있다 :

최종 cin.get가 (arrayname, 크기, S) arrayname 데이터는 문자 어레이에 입력 또는 길이 크기에 도달 단면 S 자 : 구문 3 : 사용
참고 : 문자 배열이어야, 즉 문자 [η] L 형이 아니라 문자열 타입, 최대 입력 길이의 크기]의 제어는, 입력 버퍼의 현재 단 부면들 (S)를 폐기

#include<iostream>
using namespace std;
int main(){
    int i;
    char a[10];
    cin.get(a,10,'.');
    cout<<a;
}

3. cin.getline ()

cin.getline () 및 cin.get 사용량 () 파라미터를 사용하지 않고, 거의 동일한 사용하여 두 개의 매개 변수, 세 개의 파라미터
cin.gerline (arrayName 크기)
cin.getline (arrayName, 크기 S)와 사용 cin.get ()와 실질적으로 동일한 효과뿐만 아니라, 약간의 차이
(1) cin.getline (arrayname, 크기 ) 와 cin.get (arrayname, 크기)의 차이
가 발생한 경우 cin.get (arrayname 크기) [Enter]를 현재 입력 종료됩니다, 그 버퍼를 제거하지 않는다 [Enter] 키
cin.getline (arrayName, 크기)에 직면 할 때 [Enter]를 현재의 입력을 종료되지만, 완충액을 제거한다 [Enter]를

4.의 getline (CIN, STR)

사용법 : 문자열을 수신하고, 출력 공간 나타날 수는 "#INCLUDE를 포함해야 "

#include<iostream>
#include<string>
using namespace std;
main (){
string str;
getline(cin,str);
cout<<str<<endl;
}

문제가 5 주

1 cin.getline ()가 IStream을 스트림 속하며의 getline ()는 문자열 흐름 속 같은 두 함수 아닌
,의 getline을 (>> Cin이 동시에 사용될 때 2) 주목하고, 그 입력 CIN에 >> 의 getline () 전에 흐름의 완료 후, 필요
, STR = "\ N-"
;의 getline (CIN, STR을)
그렇게하지 않을 경우 입력 스트림 CIN 캐리지 리턴과 같은 방식으로 콘솔에서, 캐시를 지우려면 프로그램이 입력 스트림으로 변수 전에 기본 때문에의 getline은 입력하라는 메시지를 표시 () 표시 및 생략하지 않습니다.

추천

출처www.cnblogs.com/tsruixi/p/11781506.html