私の要件は、人間が理解できない.datまたは.binファイルに文字列データを格納することです。私はcstringデータをバイナリに保存したい(テキストモードではなく、アンアンランスル)。しかし、それを保存することはできない。
バイナリモードでファイルに整数を格納できますが、バイナリモードでは文字列を格納できません。私はfstreamの を使用してみましたMFC でのCFileとCArchiveを使用してみました
は *ファイルを使用して試みたが、成功しませんでした。
誰でも私にこれを手伝ってもらえますか?
void CAuthenticationFileDlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
static int count =0;
DisplayKeys(count);
CString strTotalKeys = m_keys->GetKey1() + m_keys->GetKey2() + m_keys-getkey3() + m_keys->GetKey4();
m_vectKeys.push_back(strTotalKeys);
m_EditKey1.SetFocus();
CFile pFile;
ASSERT (pFile != NULL);
if (!pFile.Open (_T("foo.dat"), CFile::modeReadWrite | CFile::modeCreate|CFile::typeBinary))
{ // Handle error
return;
}
CArchive arStore(&pFile, CArchive::store);
Serialize(arStore);
delete m_keys;
count++;
if(count>0)
{
m_keys = new CKeys;
}
UpdateData(FALSE);
}
私は4つのCstring変数を持つCkeysというクラスを持っています。 オブジェクトを格納しようとしています。 とにかくOKです。データをバイナリ形式で保存したい。
上記は、ダイアログが表示される前に請求されるMFC CDialog仮想関数であるOnintDialog()
を示しました。ファイルを読み込んでリストコントロールに表示しようとしています。 (私はこれを達成できませんでした) in Buttonイベント私はユーザーによって与えられたオブジェクトデータを書き込もうとしています。
それはここに立っているようので、あなたが本当にあなたの質問を再考/言い替えるする必要がありますされ、あなたが望むものは全く不明です。 –
バイナリデータを保存/復元するために、CArchiveの読み取り/書き込みメソッドを使用します。詳細については、[ここ](https://msdn.microsoft.com/en-us/library/caz3zy5s.aspx#carchive__writeオブジェクト)を参照してください。 – Jackdaw