C언어/C언어 예제

[C언어 소스] scanf_s 함수 사용 예제

언제나휴일 2016. 4. 30. 01:48
반응형

scanf_s 함수 사용 예제

//C언어 표준 라이브러리 함수 사용법 가이드

//int scanf_s(const char *format,...); 표준 입력 파일 스트림의 버퍼에서 포멧을 지정하여 읽어오는 함수

//호스트 이름과 IPv4 주소를 입력받아 출력

#pragma warning(disable:4996)

#include <stdio.h>

 

#define AVAIL(x) ((x>=0)&&(x<=255)) //유효한 수인지 판별하는 매크로

//IPv4주소로 유효한지 판별하는 매크로

#define AVAIL_IPv4(a,b,c,d) (AVAIL(a)&&AVAIL(b)&&AVAIL(c)&&AVAIL(d))

void main(void)

{

    char hostname[256];

    int a, b, c, d;

    int result;

 

    //IPv4 주소 입력

    printf("호스트 명과 IPv4 주소 입력(호스트 명 xxx.xxx.xxx.xxx) \n");

    result = scanf_s("%s %d.%d.%d.%d",hostname, sizeof(hostname), &a, &b, &c, &d);

 

 

    if (result < 5)//변환 개수가 4보다 작을 때

    {

        printf("포멧에 맞게 입력하지 않았습니다.\n");

    }

    else

    {

        if (AVAIL_IPv4(a, b, c, d))//유효한 IPv4 주소일 때

        {

            printf("%s IPv4 주소 %d.%d.%d.%d \n",hostname, a, b, c, d);

        }

        else

        {

            printf("유효한 IPv4 주소가 아닙니다.\n");

        }

    }

}

 

출력

호스트 명과 IPv4 주소 입력(호스트 명 xxx.xxx.xxx.xxx)

ehclub.net 192.168.34.50

ehclub.netIPv4 주소 192.168.34.50


언제나 휴일에서는 출간하는 서적의 내용을 온라인에 배포하고 있으며 무료 동영상 강의를 제작 배포하고 있습니다.

언제나 휴일 티스토리 바로가기

언제나 휴일 유튜브 채널 바로가기

반응형