[c언어] C 언어를 사용한 게임 정보 저장 및 로드 프로그래밍
게임에서 플레이어의 정보를 저장하고 불러오는 것은 매우 중요합니다. 이 기능은 게임 진행 상황을 저장하고 다음에 불러와서 이어서 플레이하거나 오프라인 상태에서 게임을 계속할 수 있도록 해줍니다. 이번 글에서는 C 언어를 사용하여 간단한 게임 정보를 저장하고 불러오는 프로그래밍에 대해 살펴보겠습니다.
파일 입출력
C 언어에서 파일 입출력을 위해서는 <stdio.h>
헤더 파일을 포함해야 합니다. 이를 통해 파일을 열고 쓰거나 읽을 수 있습니다.
예를 들어, 플레이어의 이름과 레벨을 저장하는 파일 “player.txt”를 다음과 같이 만들 수 있습니다.
#include <stdio.h>
struct Player {
char name[50];
int level;
};
int main() {
struct Player player = {"Alice", 5};
FILE *file = fopen("player.txt", "w");
if (file != NULL) {
fprintf(file, "%s\n%d", player.name, player.level);
fclose(file);
} else {
printf("파일을 열 수 없습니다.");
}
return 0;
}
위의 코드에서는 FILE *fopen(const char *filename, const char *mode)
함수를 사용하여 “player.txt” 파일을 쓰기 모드(“w”)로 열고, fprintf
함수를 사용하여 플레이어의 이름과 레벨을 파일에 씁니다.
정보 불러오기
이제 저장된 정보를 다시 불러오는 방법을 살펴봅시다.
#include <stdio.h>
struct Player {
char name[50];
int level;
};
int main() {
struct Player player;
FILE *file = fopen("player.txt", "r");
if (file != NULL) {
fscanf(file, "%s %d", player.name, &player.level);
fclose(file);
printf("플레이어 이름: %s, 레벨: %d", player.name, player.level);
} else {
printf("파일을 열 수 없습니다.");
}
return 0;
}
위의 코드에서는 fopen
함수를 사용하여 “player.txt” 파일을 읽기 모드(“r”)로 열고, fscanf
함수를 사용하여 파일에서 플레이어의 이름과 레벨을 읽어옵니다.
이처럼 C 언어를 사용하여 간단하게 게임 정보를 저장하고 불러오는 기능을 구현할 수 있습니다. 더 복잡한 게임에서는 데이터 구조와 보안을 고려하여 파일 저장 및 불러오기를 구현해야 합니다.
참고 자료:
- https://www.tutorialspoint.com/c_standard_library/c_function_fopen.htm
- https://www.geeksforgeeks.org/data-file-handling-c-3-different-ways-to-output-contents-of-a-file/