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
Użyj funkcji składowych
Read
iWrite
, aby odczytywać i zapisywać dane w pliku.— lub —
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).