#include <stdio.h>
#include <string.h>
void main(){
int value =5;
char gg[20];
char buffer_one[8], buffer_two[8];
strcpy(buffer_one, "one");
strcpy(buffer_two, "two");
printf("before버퍼 2는 %p에 있고 내용은 %s 다. \n", buffer_two,buffer_two);
printf("before버퍼 1는 %p에 있고 내용은 %s 다. \n", buffer_one,buffer_one);
printf("before값은 %p에 있고 값은 %d(0x%08x) 다. \n", &value,value, value);
printf("버퍼 2에 입력할 값을 입력하세요\n");
scanf("%s", gg);
printf("strcpy %d바이트를 버퍼2에 복사 \n\n", strlen(gg));
strcpy(buffer_two, gg);
printf("입력값이 16바이트를 넘으면 오버플로우 발생..!!\n");
printf("after 버퍼2는 %p에 있고 내용은 %s 다. \n", buffer_two, buffer_two);
printf("after 버퍼1는 %p에 있고 내용은 %s 다. \n", buffer_one, buffer_one);
printf("after값은 %p에 있고 값은 %d(0x%08x) 다. \n", &value,value, value);
}
'소스기록장 > c언어' 카테고리의 다른 글
윈도우 도스(콘솔) 글자색 배경색 지정하기 (0) | 2012.08.10 |
---|---|
윈도우 dos(콘솔) 커서 위치(좌표) 움직이기 (0) | 2012.08.10 |
dijkstra 알고리즘을 이용한 OSPF 구현 소스 (0) | 2012.08.10 |
리눅스 간단한 쉘 구현 소스 (0) | 2012.08.10 |
makenumber(num.c) (0) | 2010.08.26 |