MFC - E / S padrão

A biblioteca MFC fornece sua própria versão de processamento de arquivo. Isso é feito por meio de uma classe chamada CStdioFile. A classe CStdioFile é derivada de CFile. Ele pode lidar com a leitura e gravação de arquivos de texto Unicode, bem como arquivos de texto multibyte comuns.

Aqui está a lista de construtores, que podem inicializar um objeto CStdioFile -

CStdioFile();
CStdioFile(CAtlTransactionManager* pTM);
CStdioFile(FILE* pOpenStream);
CStdioFile(LPCTSTR lpszFileName, UINT nOpenFlags);
CStdioFile(LPCTSTR lpszFileName, UINT nOpenFlags, CAtlTransactionManager* pTM);

Aqui está a lista de métodos em CStdioFile -

Sr. Não. Nome e Descrição
1

Open

Sobrecarregado. Open é projetado para uso com o construtor CStdioFile padrão (Overrides CFile :: Open).

2

ReadString

Lê uma única linha de texto.

3

Seek

Posiciona o ponteiro do arquivo atual.

4

WriteString

Escreve uma única linha de texto.

Vejamos um exemplo simples novamente, criando um novo aplicativo baseado em caixa de diálogo MFC.

Step 1 - Arraste um controle de edição e dois botões conforme mostrado no instantâneo a seguir.

Step 2 - Adicionar variável de valor m_strEditCtrl para editar o controle.

Step 3 - Adicionar manipulador de eventos de clique para os botões Abrir e Salvar.

Step 4 - Aqui está a implementação de manipuladores de eventos.

void CMFCStandardIODlg::OnBnClickedButtonOpen() {
   
   // TODO: Add your control notification handler code here
   UpdateData(TRUE);

   CStdioFile file;
   file.Open(L"D:\\MFCDirectoryDEMO\\test.txt", CFile::modeRead | CFile::typeText);
   
   file.ReadString(m_strEditCtrl);
   file.Close();
   UpdateData(FALSE);
}

void CMFCStandardIODlg::OnBnClickedButtonSave() {
   
   // TODO: Add your control notification handler code here
   UpdateData(TRUE);
   CStdioFile file;
   if (m_strEditCtrl.GetLength() == 0) {

      AfxMessageBox(L"You must specify the text.");
      return;
   }
   file.Open(L"D:\\MFCDirectoryDEMO\\test.txt", CFile::modeCreate |
      CFile::modeWrite | CFile::typeText);
   file.WriteString(m_strEditCtrl);
   file.Close();
}

Step 5 - Quando o código acima for compilado e executado, você verá a seguinte saída.

Step 6- Escreva algo e clique em Salvar. Isso salvará os dados em um arquivo * .txt.

Step 7 - Se você olhar a localização do arquivo, verá que ele contém o arquivo test.txt.

Step 8- Agora feche o aplicativo. Execute o mesmo aplicativo. Quando você clica em Abrir, o mesmo texto é carregado novamente.

Step 9 - Inicia abrindo o arquivo, lendo o arquivo, seguido da atualização do Controle de Edição.