반응형
Recent Posts
Recent Comments
Link
관리 메뉴

공머씨의 블로그

내가 실습한 c언어 3. 16~22 본문

내가 공부한 3학기 전공/내가 실습한 C언어

내가 실습한 c언어 3. 16~22

공머씨 2020. 3. 15. 15:08
반응형

 

// c언어 코딩020 문자열  입출력 gets
#include <stdio.h>

int main(void)
{
	char team[10];
	puts("-----------------");
	puts("*문자열 출력*");
	puts("-----------------");

	printf("좋아하는 축구팀은:");
	gets(team);

	printf("축구팀은=%s\n", team);
	puts("------------------");

	return 0;
}

https://blog.naver.com/woong3164/220633818474

 

[C언어 코딩학습 016] : 문자 두 개 입출력 - 1

아래의 이미지는 소스입니다.아래의 이미지는 위의 소스를 이용해서 나온 결과입니다.저는 AB 라고 했는...

blog.naver.com

scanf_s오류가 났을떄 왜???

" scanf_s함수는 scanf함수와 다르게 문자와 문자열 입력시에
저장공간에 저장가능한 문자의 갯수를 같이 입력해줘야 합니다. " 

[출처] [C언어 코딩학습 016] : 문자 두 개 입출력 - 1|작성자 웅이네

 

웅이네 블로그 : 네이버 블로그

영남이공대 사이버보안

blog.naver.com

 

 

 

 

 

 

 

 

 

 

 

// c언어 코딩020 문자열  입출력 gets
#include <stdio.h>

int main(void)
{
	char team[10];
	puts("-----------------");
	puts("*문자열 출력*");
	puts("-----------------");

	printf("좋아하는 축구팀은:");
	gets(team);

	printf("축구팀은=%s\n", team);
	puts("------------------");

	return 0;
}

 

Run-Time Check Failure #2 - Stack around the variable '????' was corrupted.

많은 블로그에서 위 오류와 관련하여 '사용자가 설정한 배열보다 더 큰 데이터를 넣으려고 할때' 정도로 말하고 있습니다

좀더 자세히 말하면 '원래 의도한 크기의 자료형 보다 더 큰 자료형의 데이터를 넣으려고 했거나

오타로 인해 의도 하지 않은 데이터가 들어갔거나' 하는 경우죠.

[출처] [오류] Run-Time Check Failure #2 - Stack around the variable '????' was corrupted.|작성자 부산백수

>> 알파벳은 1byte 한글은 2byte이다.

>> 메모리 침범의 오류이다.

>>배열에서 방1개당 1byte로 알고 있는데 맞나요??? 아님 자료형 이 차지하는 바이트 만큼

>> 자료형이 char 이므로 방한개당 1byte이다.

>> 맨처음에 적은 문자는 (맨체스터시티>>26byte)

>> 한글자가 방 2개를 잡게된다. (char을 쓰면 안된다는 것은 아님.)

>>인코딩에 따라 한글 한 글자는 2바이트에서 6바이트 까지 다양할 수 있어요

>> 배열의 길이를 넉넉하게 잡는 방법

>>gets대신 fgets를 쓰면 최대로 받을 길이를 설정 할 수도 있다.

 

반응형
Comments