일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- tips강좌
- C++
- 정보처리기사
- mysql
- MFC
- 핵심 요약
- 정처기 독학
- Time
- 충무창업큐브
- visual
- 포트폴리오
- C
- 도움말
- MFC 예제
- 유료강좌
- 실습
- C언어
- do it c
- Tipsware
- ListBox
- 김성엽
- SSG
- 별찍기
- 미가공
- win32
- linux
- mfc 실습
- MyTread
- 마이크로소프트
- MyThread
- Today
- Total
목록C언어 (20)
History

버그의 종류는 크게 2가지로 나뉜다. 1. 문법상 코드를 잘못 작성해 발생하는 문법오류. 2. 문법상 문제는 없지만 예상치 못한 결과가 발생하는 논리적 오류. 문법 오류는 IDE의 인텔리센스가 경고를 띄워주기 때문에 대처가 가능하지만, 논리적 오류는 코드상 문제가 아니라 들어온 데이터, 수식 상 문제 등으로 발생하는 것이기 때문에 어느 위치에서 오류가 발생했는지 알기 쉽지 않다. #include #pragma warning(disable:4996) int Func(int a_value) { int temp=5; temp /= a_value; return temp; } int main() { int ans=Func(0); } 간단히 위와 같은 코드로 예시를 들겠다. 위 코드에서 인자값으로 0을 줬고 인자값..

c언어에서는 올림(ceil)과 내림(floor) 함수는 지원하지만 반올림 함수는 따로 지원하지 않는다. ceil과 floor함수는 math.h를 include 해줘야 사용할 수 있는 라이브러리 함수이다. float data1=1.75452; float data2=0.1353; 위처럼 float형 data1과 data2라는 변수를 선언하고 초기화한다. data1을 기준으로 ceil을 사용하면 2.000000이 나올 것이고 floor을 하면 1.000000이 나온다. 난 floor을 활용하여 반올림을 간단하게 구현해보도록 하겠다. #include #include #pragma warning(disable:4996) int main() { float data1=1.75452; float data2=0.1353..

이번 차시 실습에서는 텍스트 파일에 저장된 특정 문자를 찾아서 원하는 단어로 바꾸는 실습을 진행한다. 파일에 기록된 내용을 변경하려면 파일 입출력에서의 옵션을 변경해야 한다. w+: 쓰기 우선 읽기모드 r+: 읽기 우선 쓰기모드 a+: 이어쓰기 우선 읽기 모드 1. 옵션 읽기와 쓰기 모두 작업하면서 원하는 위치에 데이터를 쓰더라도 다른 데이터에 영향을 미치지 않게 하려면 r+ 옵션을 사용해야한다. 만약 지금 사용하는 파일이 텍스트 파일이라는 것을 강조하고 싶으면 r+t라고 사용하면 된다. 2. 단어 찾기 원하는 단어를 찾기 위해서는 strstr 함수를 사용하여 특정 단어를 찾는다. strstr 단어는 string.h 헤더파일에 있기 때문에 include를 해줘야한다. strstr 함수는 추후에 따로 정리..
이번 차시에는 fgets 함수에 대해서 정리를 해보겠다. 1. fgets 함수 fgets 함수는 FILE 구조체를 사용하여 파일 입출력 스트림에서 문자열을 가져오는 함수이다. 원형은 아래와 같다. C++ char *__cdecl fgets(char *_Buffer, int _MaxCount, FILE *_Stream) 첫 번째 매개변수 Buffer는 파일에서 읽은 문자열을 저장할 메모리의 주소를 넘겨주면 된다. 두 번째 매개변수 MaxCount는 Buffer 즉 배열의 크기를 적으면 된다. 세 번째 매개변수 Stream은 파일 포인터를 적으면 된다. 파일 포인터는 FILE 구조체를 사용해서 텍스트 파일을 관리하는 포인터를 말한다. fgets 함수는 보통 개행(\n) 문자를 만날 때까지 문자열을 읽는 것이..
이번 게시글은 배열 안에 있는 정수 값을 상위 10개를 중복 없이 출력하기 위한 코드를 소개한다. 보통 문제를 풀다 보면 10개의 배열에 랜덤으로 값이 들어가 있고, max값과 min값을 출력하라 라는 문제가 많이 보인다. max값과 min값을 출력하는 코드는 간단하다. 구현은 아래 소스를 보자. #include #include //srand를 쓰기 위해 #include //time을 쓰기위해 int main() { srand((unsigned int)time(NULL)); int arr[20] = {}; // 랜덤으로 값을 넣을 배열 int max=0; int min=10001; for (int i = 0; i < 20; i++) { arr[i] = rand() % 10000 + 1; //1~10000..
1. strlen strlen은 사용자가 매개변수로 전달한 문자열의 길이를 구해주는 함수이다. 여기서 문자열의 길이라고 하는 것은 문자열을 구성하는 문자의 개수를 의미하며 NULL 문자를 제외한 개수이다. 예를 들어 "asd"라는 문자열이 있으면 strlen함수로 표현한 문자열 길이는 3이다. 그러나 자료형의 크기를 표현하는 sizeof 함수를 사용하여 asd가 들어간 문자열 배열의 크기를 비교하면 4가 나올 것이다. 문자열의 크기는 NULL값을 포함한 값을 표현하기 때문이다. 먼저 strlen 함수의 원형은 아래와 같다. size_t strlen(const char*str); //strlen의 원형 이 함수는 한 개의 매개변수를 가지며 이 매개변수로 전달된 문자열의 길이를 구해서 반환해 준다. 2. s..
strcmp > 헤더파일 : string.h > 함수의 원형: int strcmp(const char* str1, const char* str2); //원형 > 함수의 인자 -str1, str2는 c언어 형식의 문자열이다. > 함수의 역할 -두 개의 문자열을 비교하는 함수 > 사용 예시 -strcmp((A,B)==0) A와 B를 비교해서 같은 문자열이면 0을 반환 -strcmp((A,B)0) A와 B를 비교해서 A가 더 크다면 양수 반환 EX) char string1[] = “HisTory”; char string2[] = “HisTory”; strcmp(string1, string2); // 문자열이 같으므로 0 strcmp(string1, HizTory”); // s < z 이므로 음수 반환 strc..
질문: 안녕하세요. do it c언어 책에 있는 반복 횟수 관련 설명이 잘 이해되지 않습니다.(p.521~522) 20바이트 배열을 4바이트씩 5번 파일에서 read 한 것과 20바이트로 1번 파일에서 read 한 것이 동일한 결과가 나오는 건가요? 답변: 네 맞습니다. 20바이트 배열을 4바이트씩 5번 파일에서 read한 것과 20바이트로 1번 파일에서 read 한 것이 동일한 결과가 나옵니다. 아래 코드를 보시면 이해가 잘 될 겁니다. #include #pragma warning(disable:4996) int main() { int a=100; // int 안에 100 대입 int data[5] = {1,2,3,4,5}; // 1,2,3,4,5가 들어있는 int 배열 int temp[5] = {};..