RedPlus 개인 블로그

시삽: 레드플러스 님 
게시판 이동:
 제목 : C 언어 강의: scanf를 엔터키를 기준으로 여러 행으로 값을 입력 받기
글번호: 386
작성자: Administrator ( 레드플러스 / redplus@live.com )
작성일: 2022/01/09 오전 6:14:21
조회수: 4433

scanf() 함수를 사용하여 엔터키를 기준으로 여러 행으로 데이터를 입력받을 때, 엔터키가 다음 행에 영향을 주는 경우가 있습니다. 단순히 Windows 환경에서만 사용한다면 fflush(stdin); 코드를 scanf() 함수 사용 다음 라인에 넣어주던 방식도 있었는데요. 이것은 리눅스에서는 실행되지 않습니다. 그래서 여러 가지 해결책이 있는데요. 그 중에서 하나는 scanf() 함수의 서식 지정자 앞에 공백 한 칸을 두어 공백과 엔터를 무시한 문자열만 입력을 받을 수 있도록 할 수 있습니다.

 

 

코드: scanf_multi_line.c



// scanf_multi_line.c
#define _CRT_SECURE_NO_WARNINGS // scanf 보안 경고로 인한 컴파일 에러 방지 
#include <stdio.h>

int main(void)
{
    char name[20];
    int age;
    char nick[20];
    int _;

    printf("입력\n----\n");
    printf("이름: "); _ = scanf(" %s", name); // 서식 지정자 앞에 공백 하나 추가 
    printf("나이: "); _ = scanf(" %d", &age);
    printf("별명: "); _ = scanf(" %s", nick);

    printf("\n출력\n----\n");
    printf("이름: %s\n", name);
    printf("나이: %d\n", age);
    printf("별명: %s\n", nick);

    return 0;
}





입력
----
이름: 박용준
나이: 21
별명: 레드플러스

출력
----
이름: 박용준
나이: 21
별명: 레드플러스

 

 

 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트


관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 병합 알고리즘 순서도 merge-sort-algorithm(1).png(75 KB) 2022-10-22 5153
현재글 C 언어 강의: scanf를 엔터키를 기준으로 여러 행으로 값을 입력 받기 - Administrator 2022-01-09 4433
다음글 C 언어: scanf 사용해서 표준 입력인 콘솔로부터 나이를 정수로 입력 받아 출력 - Administrator 2022-01-07 3238
관련 페이지 리스트
numtitlenamedateview
388 C 언어에서 값 전달과 참조 전달(Call By Value and Call By Re... Administrator 2023-03-09 3589
387 병합 알고리즘 순서도 2022-10-22 5153
386 C 언어 강의: scanf를 엔터키를 기준으로 여러 행으로 값을 입력 받기 Administrator 2022-01-09 4433
385 C 언어: scanf 사용해서 표준 입력인 콘솔로부터 나이를 정수로 입력 받아 출력 Administrator 2022-01-07 3238
384 Java 코드 샘플 - Function 인터페이스로 람다 식 만들기 Administrator 2022-01-04 3137
383 C# 코드 샘플 - 널 조건부 연산자 사용하기 Administrator 2022-01-02 3180
382 C# 코드 샘플 - 널 병합 연산자와 default 키워드 Administrator 2022-01-02 3095
381 C# 코드 샘플 - 널 병합 연산자로 문자열 변수의 NULL 값 확인하기 Administrator 2022-01-02 2998
380 C# 강의 - 14세 미만 체크 메서드 구현 Administrator 2022-01-01 3065
379 C 언어 천 단위 콤마 찍기 thousands_separator.c Administrator 2021-12-30 4206
378 for 문 순서도 - for 문(for loop) 순서도(flowchart) Administrator 2021-12-28 6962
377 C 언어 코드 샘플 - 전처리기 - 조건부 컴파일 Administrator 2021-12-27 3084
376 C 언어 코드 샘플 - 전처리기 - 매크로 함수 Administrator 2021-12-27 3071
375 http-server 설치하기 - 로컬 루프백 주소로 웹페이지 실행 2021-12-27 3063
374 C 언어 코드 샘플 - N명의 학생의 점수를 입력받아 1차원 배열에 저장 후 총점 구... Administrator 2021-12-27 3110
373 Java 코드 샘플 - 두 수의 합을 구하는 함수 Administrator 2021-12-26 2979
372 C 언어 코드 샘플 - 두 수의 합을 구하는 함수 Administrator 2021-12-26 3021
371 C# 교과서 강좌 - LINQ - Select 확장 메서드에 익명 형식 사용하기 Administrator 2021-12-26 3145
370 C# 교과서 강의 - LINQ - Select 확장 메서드를 사용하여 새로운 형태로 ... Administrator 2021-12-26 3052
369 C 언어 코드 샘플 - static-shared - 정적(공유) 변수 사용하기 Administrator 2021-12-26 3077
 
 
 
손님 사용자 Anonymous (손님)
로그인 Home