Мое требование - хранить данные строки в файле .dat или .bin, который человек не может понять.Я хочу хранить данные cstring в двоичном формате (не в текстовом режиме, но не понимая), но не в состоянии его сохранить
Я могу хранить целые числа в файле в двоичном режиме, но не в состоянии хранить строку в двоичном режиме.
Я попытался с помощью CFile и CArchive в MFC попытался с помощью fstream Пробовал с помощью файла * Но не мог удалось.
Может ли кто-нибудь помочь мне в этом?
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);
}
У меня есть класс Ckeys, который имеет 4 переменные Cstring. Я пытаюсь сохранить его объект. В любом случае, я в порядке. Я хочу хранить данные в двоичном формате.
Выше я упомянул OnintDialog()
, который является виртуальной функцией MFC CDialog, которая отображается перед диалоговым окном. В котором я пытаюсь прочитать файл и отобразить его в элементе управления списком. (Я не смог этого добиться) в событии Button Я пытаюсь записать данные объектов, которые даются пользователем.
Вам действительно нужно перефразировать/пересмотреть свой вопрос, потому что, как он стоит здесь совершенно непонятно, что вы хотите , –
Просто используйте методы чтения/записи CArchive для сохранения/восстановления двоичных данных. Подробную информацию см. В [здесь] (https://msdn.microsoft.com/en-us/library/caz3zy5s.aspx#carchive__writeobject). – Jackdaw