C++에서 puutchar 와 getchar 함수 의 세부 사항 및 활용

C 언어 에서 입력 과 출력 은 printf 와 scanf 를 제외 하고 문 자 를 입력 하 는 함수 도 getchar()함수 이 고 문 자 를 출력 하 는 함 수 는 putchar()함수 입 니 다.
기능 설명 은 다음 과 같다.
在这里插入图片描述
在这里插入图片描述
다음은 예 를 들 어 함수 의 용법 을 설명 한다.

#include <stdio.h>
int main()
{
 int ch = 0;
 while ((ch = getchar()) != EOF)
       putchar(ch);
    return 0;
}
결과:
在这里插入图片描述
키보드 의 리 턴 키 를 누 르 면 getchar 함 수 는 화면 에 입력 한 문자 와 리 턴 문자'를 읽 고 putchar 함 수 는 이 문 자 를 화면 에 다시 인쇄 하여 리 턴 효 과 를 나타 내 는 것 을 알 수 있 습 니 다.키보드 에 있 는 ctrl+z 키 를 누 르 면 getchar 가 EOF(문자 읽 기 실패 의미)를 읽 게 되 며,이때 getchar 는 읽 기 가 끝 납 니 다.
적용:

#include <stdio.h>
int main()
{
	char password[20] = { 0 };
	printf("     :>
"); scanf("%s", password); printf(" <Y/N>:"); int ch = getchar(); if (ch == 'Y') { printf(" !"); } else { printf(" !"); } return 0; }
在这里插入图片描述
전체적으로 문법 적 인 오 류 는 없 지만 왜 위의 상황 이 나 타 났 을 까?getchar 함수 의 읽 기 디 테 일 을 중점적으로 설명해 야 합 니 다.
그림:
在这里插入图片描述
먼저 scanf 는 빈 칸 앞의 문자(즉"12345")를 모두 가 져 옵 니 다.이 때 버퍼 에"(빈 칸)avcde"가 남 고 getchar 함 수 는 남 은 첫 번 째 문 자 를 읽 습 니 다.읽 은 첫 번 째"(빈 칸)"은"Y"가 아니 기 때문에"확인 실패"를 표시 합 니 다.어떻게 이 문 제 를 해결 합 니까?남 은 문 자 를 모두 가 져 와 야 합 니 다("포함").키보드 에서 Enter 키 를 누 르 면 시스템 이 기본적으로""를 입력 하고 입력 해 야 읽 을 수 있 기 때 문 입 니 다.
다음 개선 사항:

char password[20] = { 0 };
	printf("     :>
"); scanf("%s", password); printf(" <Y/N>:"); int tmp = 0; // while ((tmp = getchar()) != '
')// '
' , { ; } int ch = getchar(); if (ch == 'Y') { printf(" !"); } else { printf(" !"); }
在这里插入图片描述
이 때 는 정상 적 인 논리 에 따라 운행 할 수 있다.
이상 은 getchar 함수 에 대한 작은 세부 사항 에 대한 이해 입 니 다.만약 부당 하 다 면 지적 을 환영 합 니 다!
C++에서 puutchar 와 getchar 함수 의 세부 사항 및 활용 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 puutchar 와 getchar 함수 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기