C언어/디딤돌 C언어 예제

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

언제나휴일 2016. 11. 24. 16:52
반응형

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


Program.c


#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))
int main()
{
    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");
        }
    }
    return 0;
}


실행 결과

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



본문

[디딤돌 C언어] 26. scanf, scanf_s 함수



반응형