visual studio 적응기

visual stdio를 하다보니 scanf에서 오류가 나타나는 일이 많아졌다.
어떻게 해결할까?

1. scanf_s 사용하기

정수 입력 출력

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int t;
void main() {
	printf("what you want?: ");
	scanf_s("%d",&t);
	printf("%d", t);
}

문자 입력 출력

이렇게 하니까 또 잘 되더라.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char t;
void main() {
	printf("what you want?: ");
	scanf_s("%c",&t,1);
	printf("%c", t);
}

문자열 입력 출력

문자열 입출력을 확인하기 위해 이전처럼 파라미터 두개만 사용했더니 에러가 떴다..
젠장..
이때는 무조건 _scanf_s()안에 파라미터를 하나더 추가_해야한다. 뒤에 받을 사이즈를 명시해두도록하자.
앞서 만든 문자 하나만 받는 것도 마지막 파라미터 1을 받도록 하면 좋을거 같다.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char t[100];
void main() {
	printf("what you want?: ");
	scanf_s("%s",t,sizeof(t));
	printf("%s", t);
}

2. 위에 설정을 해두기

#pragma warning(disable: 4996)

이렇게 설정을 해두면 프로그램이 잘 돌아간다 확인해 보자

#pragma warning (disable:4996)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int t;
void main() {
	printf("what you want?: ");
	scanf("%d",&t);
	printf("%d", t);
}

이외에도 visual stdio에서 SDL 검사를 안하도록 할 수 있지만, 코딩테트스의 시험결과는 실험장님이 직접 자기 컴터에서 돌려볼 것이기 때문에 사용하지 않는것이 좋을것 같다.(쮸글..)

좋은 웹페이지 즐겨찾기