; C 언어 Dos에서의 메시지 박스 🔔 예) 도스에서의 메시지 박스 사용 #include #include #pragma comment (lib,"user32.lib") HANDLE hFile; char buff[1023]; int iret; int main() { hFile = CreateFile("a.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(INVALID_HANDLE_VALUE != hFile) { ReadFile(hFile, buff, 1023, &iret, NULL); buff[iret]; printf("안녕 난 printf야\n"); MessageBox(NULL, buff,"File read",MB_..
C언어 조건부 컴파일 지시자는 #if, #else, #elif, #endif가 있다. #if 조건 수식 명령문1 #else 명령문2 #endif 조건수식이 참일 경우 명령문1 이 컴파일되고, 거짓일 경우에는 명령문2가 컴파일된다. 작성중 오류를 검사하기 위한 출력코드를 프로그램에 삽입하였다가 프로그램 검사가 끝난 경우 출력문을 주우는 것을 조건부 컴파일을이용하면 다음과 같이 작성할 수 있다. #define DEBUG 1 void main() { #if DEBUG == 1 printf("program start\n); #endif ..... } 위와 같은 형식은 선택적 컴파일 또는 조건부 컴파일이라 한다. 조건부 컴파일로 또 다른 지시자는 #ifdef, #ifndef, #endif로 매크로의 존재여부에 따..
C언어 Chapter 33. 파일 입/출력 복습 🔔 예) 학생의 레코드를 키보드로부터 입력받아 write()함수를 이용하여 구조체 단위로 파일에 기록하고, 다시 열어서 read()함수로 읽어서 화면에 출력하는 프로그램. [구조체 STUDENT] [main 함수] 실행 결과 리다이렉션 📌 리다이렉션(redirection)이란 표준 입력 장치인 키보드나 표준 출력 장치인 스크린을 대상으로 작성된 프로그램에서 키보드나 스크린을 대신 입력이나 출력을 다른 파일로 바꾸어 주는 것을 말한다. bzero() 함수 와 memset() void bzero(void *s, size_t n); 메모리를 0으로 채운다. void *memset(void *s, int c, size_t n); 메모리를 상수 바이트(constan..
C언어 Chapter 32. 임의 접근 지금까지의 파일의 입출력은 파일의 처음부터 끝까지 순차적으로 읽거나 쓰는 것이었다. fseek()함수를 이용하면 파일 내의 임의의 위치에 바로 접근할 수 있다. 📌 fseek() 함수의 원형 int fseek(FILE *fp, long offset, int origin); origin 부터 offset 만큼 떨어진 부분을 찾는다. origin 는 기준점 이다. [origin 의 값] 🔔 예) fseek(fp, 35L, SEEK_SET); 파일의 시작점에서 35바이트 떨어진 위치가 파일 내 현재의 위치도 설정 된다. 여기서부터 읽거나 쓸 수 있다. fseek() 함수는 성공이면 0을 반환한다. ftell() 함수는 현재파일 내의 읽기 점이나 쓰기 점을 반환한다. (파..
C언어 Chapter 31. gets() 함수의 man page 설명 📌 gets 함수의 정의 형태 🔔 예) while 문의 올바른 사용 🎯 프로그램 수정 위와 같은 while 문은 한눈에 분석하기 까다롭다. 아래와 같이 고쳐 쓸수있다. 한글자만 쓸 경우fputs 보다 fputc 로 대체할 수 있다. 형식화 입출력 int fscanf(FILE *stream, const char *format [, argument]...); int fprintf(FILE *stream, const char *format [, argument]...); fscanf() 함수는 오륙 발생하거나 파일의 끝에 도달하면, EOF 를 돌려준다. fprintf() 함수는 오류가 발생하면 음수값을 반환한다. 🔔 예) 키보드로부터 학생 ..
C언어 Chapter 30. 문자열 입출력 fgets() 함수와 fputs() 함수의 원형 char *fgets(char *str, int length, FILE *fp); // EOF를 만나면 NULL반환 int fputs(const char *str, FILE *fp); fgets() 함수의 호출 형식 char buffer[80] fgets(buffer, length, fp); fputs() 함수의 호출 형식 fputs(buffer, fp); 🔔 예) 문자열을 입력받아 파일에 기록한 후 파일의 내용을 화면에 출력하는 프로그램 🎯 프로그램 설명 while (fgets (string, 80, fp) != NULL) { printf("%s", string); } fgets() 함수는 EOF를 만나면 NUL..
C언어 Chapter 29.파일 입출력 파일 입출력 📌 C 언어는 자체에서 입출력의 기능을 제공하지 않고, 라이브러리 함수를 이용하여 데이터의 입출력을 처리한다. 🔔 예) 입출력을 지원하는 C++언어의 예 실행 결과 C 언어에서의 파일의 개념과 형식 프로그램에서 사용되는 여러 가지 파일 입출력 함수를 소개한다. 입출력 스트림과 저장 형식 C언어에서는 여러가지 입출력 장치를 논리적인 파일로 본다. 📌 스트림 파일과 프로그램 사이에 교환되는 연속적인 1byte의 흐름을 말한다. size 가 정해지지 않은 바이트의 흐름. 구조체는 size가 정해져 있음으로 블록단위로 정의한다. 텍스트 스트림 : 파일을 텍스트모드(text mode) 로 열 때 사용된다. 이진 스트림 : 파일을 이진 모드(binary mode)..