MFC - I / O standard

La libreria MFC fornisce la propria versione dell'elaborazione dei file. Ciò viene eseguito tramite una classe denominata CStdioFile. La classe CStdioFile è derivata da CFile. Può gestire la lettura e la scrittura di file di testo Unicode e normali file di testo multibyte.

Ecco l'elenco dei costruttori, che possono inizializzare un oggetto CStdioFile -

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

Ecco l'elenco dei metodi in CStdioFile -

Sr.No. Nome e descrizione
1

Open

Sovraccarico. Open è progettato per essere utilizzato con il costruttore CStdioFile predefinito (esegue l'override di CFile :: Open).

2

ReadString

Legge una singola riga di testo.

3

Seek

Posiziona il puntatore del file corrente.

4

WriteString

Scrive una singola riga di testo.

Esaminiamo di nuovo un semplice esempio creando una nuova applicazione basata sulla finestra di dialogo MFC.

Step 1 - Trascina un controllo di modifica e due pulsanti come mostrato nell'istantanea seguente.

Step 2 - Aggiungi valore variabile m_strEditCtrl per il controllo delle modifiche.

Step 3 - Aggiungi un gestore di eventi clic per i pulsanti Apri e Salva.

Step 4 - Ecco l'implementazione dei gestori di eventi.

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 il codice sopra è stato compilato ed eseguito, vedrai il seguente output.

Step 6- Scrivi qualcosa e fai clic su Salva. Salverà i dati nel file * .txt.

Step 7 - Se guardi la posizione del file, vedrai che contiene il file test.txt.

Step 8- Adesso chiudi l'applicazione. Esegui la stessa applicazione. Quando fai clic su Apri, lo stesso testo viene caricato di nuovo.

Step 9 - Inizia aprendo il file, leggendo il file, seguito dall'aggiornamento del controllo di modifica.