본문 바로가기

Language&Framework&Etc/C50

파일 입출력(24-3) 파일 입출력 함수의 기본 학습한 파일 입출력 함수들 int fputc(int c, FILE * stream); // 문자 출력 int fgetc(FILE * stream); // 문자 입력 int fputs(const char * s, FILE * stream); // 문자열 출력 char * fgets(char * s, int n, FILE * stream); // 문자열 입력 당시에는 위 함수들의 두 번째 또는 세 번째 매개변수 stream에 표준 입출력을 의미하는 stdin이나 stdout을 인자로 전달함으로써 키보드와 모니터를 대상으로 입출력을 진행하였다. 예제. #include int main(void) { FILE* fp = fopen("simple.txt", "wt"); if (fp == NULL) { puts("파.. 2020. 12. 16.
파일 입출력(24-2) 파일의 개방 모드(Mode) 파일 입출력시 형성할 수 있는 스트림의 종류는 훨씬 더 다양하다. 기본적으로 다음 두 가지 기준을 통해서 스트림을 구분 기준 1 : 읽기 위한 스트림 or 쓰기 위한 스트림 기준 2 : 텍스트 데이터를 위한 스트림? 바이너리 데이터를 위한 스트림 스트림을 구분하는 기준1: 읽기 위한 스트림? 쓰기 위한 스트림? 스트림을 구분하는 기준 데이터 READ 스트림 읽기만 가능 데이터 WRITE 스트림 쓰기만 가능 데이터 APPEND 스트림 쓰되 덧붙여 쓰기만 가능 데이터 READ/WRITE 스트림 읽기, 쓰기 모두 가능 모드(mode) 스트림 성격 파일이 없으면? r 읽기 가능 에러 w 쓰기 가능 생성 a 파일의 끝에 덧붙여 쓰기 가능 생성 r+ 읽기/쓰기 가능 에러 w+ 읽기/쓰기 가능 생성 a+ 읽기/덧붙여.. 2020. 12. 14.
파일 입출력(24-1) 파일과 스트림(Stream), 그리고 기본적인 파일의 입출력 저기 저 파일에 저장되어 있는 데이터를 읽고 싶다. 프로그램상에서 파일에 저장되어 있는 데이터를 참조하길 원한다고(읽기 원한다고) 가정. 이 때 제일먼저 해야 할 일은? 구현한 프로그램과 참조할 데이터가 저장되어 있는 파일 사이에서 데이터가 이동할 수 있는 다리를 놓는 일. 이렇나 데이터 이동의 경로가 되는 다리를 가리켜 '스트림(stream)' 프로그램과 파일 사이에 스트림을 형성해야 데이터를 주고 받을 수 있다. 스트림이라는 것은 운영체제에 의해서 형성되는 소프트웨어적인 상태를 의미하는 것일 뿐, 실제로 위 그림과 같은 형태의 다리가 놓여지는 것은 아니다. 스트림 형성 시, "파일로부터 데이터를 읽어 들일(파일에 데이터를 쓸) 기본적인 준비가 완료되었구나!" 파일은 운용체제에 의해서 그 구조가 결정되.. 2020. 12. 14.
구조체와 사용자 정의 자료형2(23-5) 열거형(Enumerated Type)의 정의와 의미 구조체나 공용체와 마찬가지로 자료형을 정의하는 방법으로 사용이 된다. 구조체를 정의하는 이유 열거형으로 syllable이라는 이름의 자료형을 정의하는 것은 다음의 의미를 지닌다. "syllable형 변수에 저장이 가능한 정수 값들을 결정하겠다!" 열거형의 경우 저장이 가능한 값 자체를 정수의 형태로 결정. "syllable형 변수에는 1, 2, 3, 4, 5, 6, 7이 저장 가능하다" 열거형 정의 enum syllable // syllable이라는 이름의 열거형 정의 { Do=1, Re=2, Mi=3. Fa=4, So=5, La=6, Ti=7; }; 위는 다음의 의미를 가짐 "Do를 정수 1을 의미하는 상수로 정의. 그리고 이 값은 syllable형 변수에 저장이 가능" 즉, 열거형 정의에서는 Do, .. 2020. 12. 14.