scanf_s
헤더 파일
int scanf_s(const char *format,...); 표준 입력 파일 스트림의 버퍼에서 포멧을 지정하여 읽어오는 함수
입력 매개 변수 리스트
format 입력 포멧 문자열
반환 값
변환에 성공한 개수
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))
int 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");
}
}
return 0;
}
출력
호스트 명과 IPv4 주소 입력(호스트 명 xxx.xxx.xxx.xxx)
ehclub.net 192.168.34.50
ehclub.net의 IPv4 주소 192.168.34.50
사용한 함수 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - printf 관련 함수 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - scanf
'언어 자료구조 알고리즘 > C11 표준 라이브러리 함수' 카테고리의 다른 글
fputs 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
---|---|
putc 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
fputc 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
fclose 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
fopen 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
gets_s 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
scanf 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
gets 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
getchar 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |
printf 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |