Udostępnij za pośrednictwem


Odczytywanie i zapisywanie danych pliku

Jeśli używasz funkcji obsługi plików biblioteki uruchomieniowej języka C, operacje odczytu i zapisu W MFC będą wyświetlane znajomo. W tym artykule opisano odczytywanie bezpośrednio z obiektu i zapisywanie go bezpośrednio w obiekcie CFile . Możesz również wykonać buforowane we/wy pliku z klasą CArchive .

Odczytywanie i zapisywanie w pliku

  1. Użyj funkcji składowych Read i Write , aby odczytywać i zapisywać dane w pliku.

    — lub —

  2. Funkcja Seek składowa jest również dostępna do przenoszenia do określonego przesunięcia w pliku.

Read Pobiera wskaźnik do buforu, a liczba bajtów do odczytu i zwraca rzeczywistą liczbę odczytanych bajtów. Jeśli nie można odczytać wymaganej liczby bajtów, ponieważ osiągnięto wartość end-of-file (EOF), zwracana jest rzeczywista liczba odczytów bajtów. Jeśli wystąpi jakikolwiek błąd odczytu, zostanie zgłoszony wyjątek. Write jest podobny do Read, ale liczba zapisanych bajtów nie jest zwracana. Jeśli wystąpi błąd zapisu, w tym nie zapisanie wszystkich określonych bajtów, zostanie zgłoszony wyjątek. Jeśli masz prawidłowy CFile obiekt, możesz go odczytać lub zapisać, jak pokazano w poniższym przykładzie:

TCHAR   szBuffer[256]; 
UINT    nActual = 0; 
CFile   myFile;

if ( myFile.Open( _T("c:\\test\\myfile.dat"), CFile::modeCreate |   
   CFile::modeReadWrite ) )
{
   myFile.Write( szBuffer, sizeof( szBuffer ) ); 
   myFile.Flush();
   myFile.Seek( 0, CFile::begin );
   nActual = myFile.Read( szBuffer, sizeof( szBuffer ) ); 
}

Uwaga

Zwykle należy wykonywać operacje wejściowe/wyjściowe w bloku try/catch obsługi wyjątków. Aby uzyskać więcej informacji, zobacz Obsługa wyjątków (MFC).

Zobacz też

Pliki