質問するログイン新規登録

Q&A

解決済

6回答

5991閲覧

セーブデータなどファイルに保存するときバイナリで保存しない方がいいですか

piced

総合スコア60

ファイルI/O

ファイルI/Oは、コンピューターにおけるファイルの入出力です。これは生成/削除やファイルを読み込んだり、出力をファイルに書き込むようなディレクトリやファイルの運用を含みます。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

DirectX

DirectX(ダイレクトエックス)は、 マイクロソフトが開発したゲーム・マルチメディア処理用のAPIの集合です。

0グッド

0クリップ

投稿2021/10/09 14:55

0

0

#状況と目的
ゲーム開発をしているのですが、セーブデータや設定情報、
他にキーフレームアニメーションのデータなどを保存しようとしています。
#試したこと
fopenの"wb"と"rb"で書き込み読み込みをしていたのですが、
セーブデータや設定情報などのクラスを更新したり、リビルドがかかると、
バイナリデータを正しく読み込めなくなりました。

fopenの"r"や"w"を使えばいいのではと思いましたが、
保存したファイルを見たとき1行ごとにパラメータがズラーっと並んでおり、
ファイルの入出力に関して疎い私は、
なんだか正しいやり方ではない気がしてなりません。

#質問
1:
ゲームのセーブデータのような、度々更新がかかるクラスのデータを
ファイルに保存するときバイナリで保存しない方がいいですか?

2:
あるゲームの内部データを見ていたら、添付のコードのような
txt形式でデータを保存していました。
このような保存の仕方はどのようにやればよいですか?

3:
windows環境専用のfopenなどではなく、
環境に依存しないファイル操作の関数とか手法はありますか?

4:
セーブデータなどのファイルの入出力にあたって、
「こうするといい」みたいなアドバイスとか注意点はありますか。

###添付のコード

//save.txt "Save Data" { "version number" { "success" "4" } "Player" { "hp" "200" "item" "192" } "Tutorial" { "complete" "3" "type" "6" } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

guest

回答の取得に失敗しました

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.25%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問