본문 바로가기
반응형

프로그래머의 길/C & C++93

파일 입출력 관련 함수 정리 파일 입.출력 파일 입.출력은 앞으로도 매우 중요하게 쓰이는 부분이다. 어떤 파일로부터 데이터를 읽어들이고 또 데이터를 어떤 파일에 저장하는 것을 말한다. 데이터 저장과 불러오기 기능을 구현한것 읽기 / 쓰기 전용 , 읽기 / 쓰기 혼합 모드 기능 파일을 열고 닫는 작업이 쌍으로 존재한다. * FILE *fopen(const char *filename, const char *mode) ; // 성공시 해당파일의 포인터. 실패시 NULL 포인터 리턴 - filename : 문자형 포인터로 사용할 파일 이름을 지정 - mode : 파일에 대한 접근 방식 - 리턴값 : open 한 파일을 가리키는 파일 포인터 mode 에는 기본적으로 r, w, a 가 있고 세부적으로 바이너리 코드(이진모드)와 텍스트 모드로 .. 2007. 3. 20.
콘솔에서 글씨 색과 위치를 변경시켜 보자! #include #include //#include void textcolor(int i) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), i); } void gotoxy(int x, int y) { COORD Pos = {x, y}; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos); } int main() { int i; for(i=0; i 2007. 3. 19.
문자열 함수 strtok 예제 날짜 예제 #include #include #include #include struct date { unsigned int year; unsigned int mon; unsigned int day; }; void getdate(struct date *p) { char temp[80]; char *cp; _strdate(temp); printf("월/일/년 %s\n", temp); cp = strtok(temp, "/"); // '/'을 구분자로 인식하여 나눈다. p->mon = atoi(cp); cp = strtok(NULL, "/"); // null 포인터를 넘기면 그 전 포인터로 이어서 작업한다. p->day = atoi(cp); cp = strtok(NULL, "/"); p->year = atoi(.. 2007. 3. 19.
동적 할당 관련 함수 malloc, calloc, realloc, free 1. malloc - malloc함수의 리턴값은 요구한 메모리를 얻으면 메모리의 시작주소를 리턴해주고 얻지 못하는 경우에는 NULL을 리턴해 준다. NULL은 주소값이 없다는 것을 뜻한다. char *p; p=(char *)malloc(10 * sizeof(char)); 2. malloc과 calloc의 차이 - malloc함수는 요구한 메모리를 초기화 하지 않는 반면에 calloc함수는 요구한 메모리의 값을 0으로 초기화 해준다 char *pmem; pmem = (char *)calloc(10,sizeof(int)); 3. realloc realloc함수는 할당 받은 메모리의 크기를 변경하기 위한 함수이다. 재할당 받는 함수이다. 메모리의 크기를 크게하던 작게하던 상관은 없다. 다만 재 할당을 받아도 .. 2007. 3. 13.
함수 포인터 & void 포인터 변수 & typedef @ 함수 포인터 #include int sum(int a, int b); void func(int (*fp)(int p, int q)); int main() { func(sum); return 0; } int sum(int a, int b) // 내가 남에게 보여주고 싶지 않은 소스 { return a+b; } //////////////////////////////////////////////////// 상대방이 사용하는 소스 void func(int (*fp)(int p, int q)) { int a, b, res; scanf("%d%d", &a, &b); res=fp(a, b); // 내가 곱샘으로 바꾼다면 곱셈 연산을 실행한다. printf("%d\n", res); } @ void형 포인터 void.. 2007. 3. 13.
2차원 배열 처럼 사용할 수 있는 배열과 포인터형 배열의 조합 // 2차원 배열 처럼 사용할 수 있는 // 배열과 포인터 배열의 조합 #include int main() { int a1[4]={1, 2, 3, 4}; int a2[4]={5, 6, 7, 8}; int a3[4]={9, 10, 11, 12}; int *ap[3]={a1, a2, a3}; printf("%d", ap[1][2]); // 7이 출력된다. return 0; } 참고 : 배열 초기화 방법 char fruit[3][80] = {"apple", "banana", "kiwi"}; char *sp[3] = {fruit[0], fruit[1], fruit[2]}; char *fruit_point[3] = {"apple", "banana", "kiwi"}; // 자료 수정 불가 포인터형 배열을 매개변수로.. 2007. 3. 12.
반응형