내가 보려고 만드는 54

[C++] 예외 발생(0x00007FF6103C2EB8, hw5.exe): 0xC0000005: 0x000000DD5E800000 위치를 기록하는 동안 액세스 위반이 발생했습니다.

예외 발생(0x00007FF6103C2EB8, hw5.exe): 0xC0000005: 0x000000DD5E800000 위치를 기록하는 동안 액세스 위반이 발생했습니다.. 엑세스 위반은 프로세스가 접근할 권한이 없는 메모리 영역에 접근하고자 했을 때 발생한다. 이런 에러는 대부분 메모리 할당이 되지 않은 포인터에 값을 넣었거나 할당치를 초과하여 데이터가 입력되었을 때 발생한다. 나의 경우에는 2차원 배열에 메모리 동적 할당을 하지 않고 값을 넣어서 발생했다. 출처: https://playlyun.tistory.com/88 0xC0000005: 0x00000000 예외처리에러. 원인과 문제해결방법 지식인 QnA 펌 질문 decoding.exe의 0x00413f9d에 처리되지 않은 예외가 있습니다. 0xC0..

[C/C++] char* -> int 변환 (문자열->정수 변환)

문자열을 정수로 변환하고 싶다면 atoi함수를 이용하면 된다. atoi()는 문자열을 입력 받아서 int 타입으로 변환하여 리턴한다. 헤더파일:) C C++ 예제) char *text = "2021"; int date = atoi(text); cout [C++] string 클래스 변환(atoi, c_str()) 등 정리 C++에서 string, char *, int 간의 변환에 대해서 알아보겠습니다. (char* -> int 로 바꾸는 것을 보고싶다면, [바로가기]) (string -> int 로 바꾸는 것을 보고싶다면, [바로가기]) (int -> string 으로 바.. blockdmask.tistory.com

[C++] C4996 에러 Error C4996 'fopen': This function or variable may be unsafe.

C++에서 fopen 함수를 사용하려면 에러가 난다. 이때, 이 에러를 해결하는 방법은 두 가지가 있다. 1. fopen을 사용하되, 두 가지를 추가해준다. #define _CRT_SECURE_NO_WARNINGS #include 파일에 위 두 가지를 추가해주면 에러가 더 이상 발생하지 않는다. 2. fopen_s를 사용한다. fopen보다 fopen_s이 보안상 더 좋기 때문에 fopen 대신 fopen_s를 사용하면 에러가 발생하지 않는다. 참고로, fopen은 파일 포인터에 직접 받지만 fopen_s는 파일포인터의 주소를 함수를 통해 간접적으로 받는다. 예제는 다음과 같다. FILE *fp; // fopen fp = fopen("file.txt", "r"); // fopen_s fopen_s(&fp..

[C++] random 함수

헤더파일) , rand 함수는 seed라는 값에 의해 생성이 되기 때문에 이 값을 설정을 해주지 않으면 default seed 값으로 실행되어 패턴이 존재하는 난수를 리턴하게 된다. 따라서 rand()를 호출하기 전, srand 함수를 이용하여 seed 값을 설정해 주어야 한다. 참고로, time()은 에 정의되어 있다. 예제) #include #include int main() { srand((unsigned int)time(NULL)); for(int i=0; i

[C++] 구조체 동적 할당

만약 구조체의 이름이 Item이라고 한다면 size가 N인 Item 구조체의 배열은 다음과 같다. Item *ptr_items = new Item[N]; 이것을 delete 할 때는 다음과 같이 하면 된다. delete []ptr_items; m.blog.naver.com/PostView.nhn?blogId=fb_lua&logNo=220858632180&proxyReferer=https:%2F%2Fwww.google.com%2F [C++ 강좌] 제 48강 동적 구조체 배열 안녕하세요. C++ 강좌중인 Falcon입니다. 오늘은 동적 구조체 배열을 배워보고자합니다. 오늘의 소스코드... blog.naver.com

[C] 이중 포인터 **

이중 포인터는 *를 두 번 사용하여 포인터의 포인터(즉, 이중포인터)를 선언한다. 예제) #include int main() { int *ptr1; int **ptr2; int num = 5; ptr1 = # prt2 = &ptr1; printf("%d\n", **ptr2); // result: 5 return 0; } 참고하면 좋은 링크) dojang.io/mod/page/view.php?id=279 C 언어 코딩 도장: 34.6 이중 포인터 사용하기 지금까지 변수의 포인터를 선언했습니다. 그렇다면 포인터의 포인터도 가능하지 않을까요? 이번에는 포인터의 메모리 주소를 저장하는 포인터의 포인터를 선언해보겠습니다. 포인터를 선언할 dojang.io

[C] 동적할당 malloc/free

동적할당이란 프로그램 실행 중에 동적으로 메모리를 할당하는 것이다. 동적으로 메모리를 할당한다는 것은 Heap 영역에 할당한다는 것을 의미한다. 헤더 파일) 함수 원형) void* malloc(size_t size) 리턴값) 성공 시 할당한 메모리의 첫 번쨰 주소 리턴. 실패 시 NULL 리턴 주의할 점) free(ptr) 로 할당한 메모리 해제하기 예제) //과목 개수 만큼 메모리 동적할당을 합니다. pArr = (int*)malloc(sizeof(int) * num); //동적할당 실패 if (pArr == NULL) { printf("malloc error"); exit(1); } // 출처: https://blockdmask.tistory.com/290 [개발자 지망생] blockdmask.tis..

[c++] 버퍼 비우기

namwhis.tistory.com/entry/cin%EA%B3%BC-getline%EC%9D%84-%EA%B0%99%EC%9D%B4-%EC%82%AC%EC%9A%A9%ED%95%A0%EB%95%8C-cinignore%EC%9D%B4-%ED%95%84%EC%9A%94%ED%95%9C-%EC%9D%B4%EC%9C%A0-%EA%B8%B0%EB%A1%9D cin과 getline을 같이 사용할때 cin.ignore()이 필요한 이유 기록 제대로 알지 못하면서 알고 있다고 생각하는것만큼 무서운것이 없습니다. 선무당이 사람 잡는다. cin과 getline을 같이 사용할때 cin.ignore()이 필요한 이유를 잘못 알고 쓰고 있었습니다. 잘못 namwhis.tistory.com c++에서 getline() 함수와 ..

[운영체제] 리눅스 명령어

깜박깜박 하는 것은 입력모드 i: INSERT 모드로 전환 명령 모드로 돌아와줘야 실행할 수 있다. esc 키를 누르면 명령 모드로 다시 돌아온다 a 키를 누르면 입력할 수 있다. o: 라인을 밑으로 내려가서 입력할 수 있다. insert모드로 전환 I: 제일 앞으로 가서 입력할 수있다. shift+a: 라인 맨 뒤로 가서 입력 가능 cw: 데이터 글자가 지워지고 insert 모드로 전환 h: 왼쪽 l: 오른쪽 방향키 j: 아래 k: 위 shift+$: 라인 제일 뒤로 shift+^: 라인 제일 앞으로 y: 복사p p: 붙여넣기 shift+v: 라인 선택. visual line dd: 한줄 삭제 2+dd: 두줄 삭제 2+yy: 두줄 복사 ctrl+f: 보이는 라인의 다음 라인 ctrl+b: 원래 화면으로..