私はATMをシミュレートするアプリケーションを作成しています(まったく問題ありません)。私はトランザクションをハードディスクに保存するのに少し問題がありました。私はそれをDBやテキストファイルとして保存すべきか?B)STL C++でDBやtxtフォーマットを使用してディスクに保存するのはどうでしょうか?(私は実際には、必要に応じて私はします)。このようなファイルをC++でディスクに保存する方法は?
答えて
何か:-)事前に
ありがとう:それはで最も広く分散データベースであるため、
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ofstream myfile;
myfile.open ("example.txt");
myfile << "Writing this to a file.\n";
myfile.close();
return 0;
}
はしかし、あなたは、あなたのアプリケーションにSQLiteのをリンクに見てみたいことがあります世界: http://www.sqlite.org/capi3.html
これは実用的で、多くのモバイルデバイス、Thunderbird、Firefoxで使用されています。使用方法/用途に依存する
Aに)私は
、DBまたはテキストファイルとして保存する必要があります - あなたは最高の裁判官です。
B)STL C++でDBまたはtxt形式を使用してディスクに保存するにはどうすればよいですか(サードパーティのライブラリを使用する必要はありませんが、必要に応じて行います)。
STLでは、データベースドライバは提供されていません。出力ストリームを作成し、ディスク上のファイルとしてデータを保存することができます。 DBファイルを書き出す予定の場合は、DBの内部形式を知り、バイナリファイルを書き込む必要があります。
テキストファイルは簡単です - <fstream>には、ofstreamが必要なクラスがあります。オーバーライド演算子< <(トランザクションクラスを使用していますか?)、次にcoutに書き込むようにofstreamに書き込みます。
私はクラスを使用しています。良い推測;-) – Kredns
C++の場合は、fstreamをご覧ください。
外部(しかし非常に標準的な)ライブラリを使用することができれば、ブーストのserializationがあなたにとって大きな助けになるかもしれません - 特にSTLコンテナの内容をダンプすることを望むならあなたの質問から)。
外部ライブラリを買う余裕がない場合でも、シリアル化のAPIがどのように設計されているかを調べることを強くおすすめします。
もしあなたがC++を合理的に使い慣れていれば、トランザクションをテキストファイルに記録することをお勧めします。 C++でこれを行う最も簡単な方法はそうのようなofstreamのを使用することです。もちろん
#include <fstream>
void write_transaction(ofstream& file, transaction t)
{
file << t.somedata;
}
int main(int argc, char** argv)
{
ofstream file;
file.open("transactions.txt");
transaction t;
t.data = "Something";
write_transaction(file, t);
file.close();
return 0;
}
、トランザクションはすべてのトランザクションデータが含まれており、おそらく配列に開催されるものとして定義されます。 write_transactionはすべての重要なデータを書き出します。
このデータベースは、1回のトランザクションで1行だけファイルに書き込むだけです。C++ストリーミングクラスの便利なリファレンスはhttp://www.cppreference.com/wiki/io/startです。これはC++の一般的なリファレンスも提供しています
ニースのウェブサイト。ありがとう! – Kredns
私は主にプロジェクトのpuroposeに依存していると思います。それは深刻なものであれば、DB..other賢明なファイルを使用することをお勧めし
良いです実際に私は、ファイルベースのDBを使用するいくつかの時間...- 1. ファイルをアンドロイドでディスクに安全に保存する方法は?
- 2. xmlファイルをディスクに保存する方法は?
- 3. ファイルをディスクに保存してJavaで削除する方法
- 4. MJPEGストリームをディスクに保存する方法(C#.NET)
- 5. ディスクにXMLファイルを保存する
- 6. WAVファイルをディスクに保存する
- 7. Androidパーセル、メモリまたはディスクに保存されていますか?ディスクに保存する方法
- 8. データベースレコードをディスクに保存する方法は?
- 9. 有向非循環グラフをディスクに保存する方法は?
- 10. web.pyで画像をアップロードしてディスクに保存する方法
- 11. blobをディスクにディスクに保存
- 12. アセンブリクラスのオブジェクトを.NETのディスクに保存する方法
- 13. ファイルをディスクまたはMongoDBに保存する
- 14. c#添付ファイルをフォルダに保存する方法は? .Net2
- 15. Pythonスクリプトでファイルをディスクに保存する権限
- 16. Outlook Add-In添付ファイルをJavascriptでディスクに保存する
- 17. ディスクに画像を保存し、EFでデータベースにリンクする方法は?
- 18. Visual Studio 2012でオブジェクトをディスクに保存する方法はありますか?
- 19. ディスクに保存せずにRubyで電子メールでグラフを送る方法は?
- 20. カールのクッキーをディスクではなくメモリに保存する方法
- 21. iPhoneでディスクに写真を保存する最も効率的な方法は?
- 22. 別のタブ/ウィンドウでhtmlファイルをディスクに保存せずにプレビューする方法はありますか?
- 23. データベースのブロブとディスクの保存ファイル
- 24. イメージをディスクに保存する
- 25. 可変データをディスクに保存する
- 26. iisセッションデータをディスクに保存する
- 27. ディスクにC++マップ構造を保存する
- 28. ファイルをディスクにダウンロードして保存する
- 29. 電子メールの添付ファイルをディスクに保存する製品
- 30. CGPathをファイルに保存する方法
あなたはへのパラメータとしてファイル名を渡すことができますctorとclose()コールは余計です。 – dirkgently
ファイルを閉じないでください。あなたは返す前にベクトルを0にリサイズしませんか? – MighMoS
@MighMoS:ストリームオブジェクツは、近くで破壊せずにうまく自分自身をきれいにするのですか? 私はいつも「これは私がファイルでやったところです」と明示的に言うために、使用後にファイルを閉じるという習慣にあったと思います。おそらくメモリを正しく管理せずファイルを残した古い言語開いた。 – Andy