-
(C / C++) 파일 입출력 해보기(업다운게임)C언어 2021. 7. 1. 10:49
파일 입출력이란 2가지로 나누어 진다.
- 파일에서 작업공간으로 데이터를 읽어오는 작업
- 작업공간의 데이터를 파일에 작성하는 작업
과정은 3가지가 있다.
- fopen() -> 파일을 연다.
- 오픈한 파일에 작업을 한다.
- fclose() -> 파일을 닫는다.
- fopen() : 파일명과 모드를 입력 받아서 파일의 메모리 주소를 반환하는 함수
- fscanf() : 파일로부터 입력을 받을 때 사용하는 함수
- fprintf() : 파일에 출력하는 함수
- fclose() : 파일을 닫는 함수
123456789101112131415161718// 파일 입출력 (읽기 모드)#include <stdio.h>void main() {FILE* in;int num;double d;char c;char str[10];in = fopen("input.txt", "r");fscanf(in, "%d%lf %c %s", &num, &d, &c, str);printf("%d %lf %c %s\n", num, d, c, str);fclose(in);}cs 12345678910111213141516171819202122// 파일 입출력 (쓰기 모드)#include <stdio.h>void main() {// 해당 파일이 없으면 만들어준다.// 해당 파일이 이미 있다면 덮어쓰기FILE* in = fopen("input.txt", "r");FILE* out = fopen("output.txt", "w");
// 파일의 끝까지int n;while (!feof(in)) {fscanf(in, "%d", &n);fprintf(out, "%d ", n);}fclose(in);fclose(out);printf("수행종료\n");}cs - 업다운 게임을 구현해보자.
- input.txt 안에 임의의 값을 넣어놓고 그 숫자를 맞추는 업다운 게임을 진행한다.
12345678910111213141516171819202122232425262728293031323334353637// 파일 입출력#include <stdio.h>void main() {FILE* in;int num, ans, max = 100, min = 1;printf("======업다운게임!======\n");in = fopen("input.txt", "r");fscanf(in, "%d", &ans);while (1) {printf("%d~%d사이의 값을 입력: ", min, max);scanf("%d", &num);if (min > num || max < num) {printf("사잇값을 입력하세요!\n");continue;}if (ans == num) {printf("정답!\n");break;}else if (ans < num) {printf("다운!\n");max = num;}else {printf("업!\n");min = num;}}fclose(in);}cs 'C언어' 카테고리의 다른 글
(C/C++) 가위바위보 게임 구현하기 (0) 2021.06.30 Call by value vs Call by reference (0) 2021.06.30 (C/C++) 문자열 맞추기 게임 구현하기! (0) 2021.06.29 (C/C++) 폭탄게임(지뢰찾기) 구현해보기! (0) 2021.06.29