C ++ fwrite () - biblioteka standardowa C ++

Funkcja fwrite () w C ++ zapisuje określoną liczbę znaków do danego strumienia wyjściowego.

prototyp fwrite ()

 size_t fwrite (const void * buffer, size_t size, size_t count, FILE * stream);

Te fwrite()zapisy funkcyjne policzyć liczbę obiektów, każdy o rozmiarze size bajtów do danego strumienia wyjściowego.

Jest to podobne do wywołania fputc () size times w celu zapisania każdego obiektu. Zgodnie z liczbą zapisanych znaków wskaźnik pozycji pliku jest zwiększany. Wynikowa wartość wskaźnika pozycji pliku dla strumienia jest nieokreślona, ​​jeśli podczas odczytu pliku wystąpi błąd.

  • Jeśli obiekty nie są w prosty sposób kopiowalne, zachowanie jest niezdefiniowane.
  • Jeśli rozmiar lub liczba wynosi zero, wywołanie fwritezwróci zero i nie zostanie wykonana żadna inna akcja.

Jest zdefiniowany w pliku nagłówkowym.

fwrite () Parametry

  • bufor: wskaźnik do bloku pamięci, którego zawartość jest zapisywana.
  • size: rozmiar każdego obiektu w bajtach.
  • count: liczba obiektów do odczytania.
  • stream: strumień pliku, w którym mają zostać zapisane dane.

fwrite () Zwraca wartość

Że fwrite()funkcja zwraca liczbę obiektów czytać pomyślnie. Jeśli wystąpi błąd, wartość zwracana może być mniejsza niż liczba.

Przykład 1: Jak działa funkcja fwrite ()

 #include #include using namespace std; int main() ( int retVal; FILE *fp; char buffer() = "Writing to a file using fwrite."; fp = fopen("data.txt","w"); retVal = fwrite(buffer,sizeof(buffer),1,fp); cout << "fwrite returned " << retVal; return 0; )

Po uruchomieniu programu zawartość bufora zostanie zapisana do pliku, a wynik będzie wyglądał następująco:

 fwrite zwrócił 1

Przykład 2: Jak działa funkcja fwrite (), gdy liczba lub rozmiar wynosi zero

 #include #include using namespace std; int main() ( int retVal; FILE *fp; char buffer() = "Writing to a file using fwrite."; fp = fopen("myfile.txt","w"); retVal = fwrite(buffer,sizeof(buffer),0,fp); cout << "When count = 0, fwrite returned " << retVal << endl; retVal = fwrite(buffer,0,1,fp); cout << "When size = 0, fwrite returned " << retVal << endl; return 0; )

Po uruchomieniu programu wynik będzie następujący:

 Gdy count = 0, fwrite zwróciło 0 Gdy size = 0, fwrite zwróciło 0

Interesujące artykuły...