Hàm fwrite() trong C

Hàm size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) trong Thư viện C chuẩn ghi dữ liệu từ mảng được trỏ bởi ptr tới Stream đã cho.

Khai báo hàm fwrite() trong C

Dưới đây là phần khai báo cho hàm fwrite() trong C:

size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)

Tham số

ptr − Đây là con trỏ tới mảng các phần tử được ghi.

size − Đây là kích cỡ (giá trị byte) của mỗi phần tử được ghi.

nmemb − Đây là số phần tử, với mỗi phần tử có kích cỡ là size byte.

stream − Đây là con trỏ tới một đối tượng FILE mà xác định một Output Stream.

Trả về giá trị

Hàm này trả về tổng số phần tử được trả về thành công dưới dạng một đối tượng size_t, mà là một kiểu dữ liệu nguyên. Nếu số này khác tham số nmemb, nó sẽ chỉ một lỗi.

Ví dụ

Chương trình C sau minh họa cách sử dụng của hàm fwrite() trong C:

#include<stdio.h>

int main ()
{
   FILE *fp;
   char str[] = "Hoc C co ban va nang cao tai QTM !!!";

   fp = fopen( "baitapc.txt" , "w" );
   fwrite(str , 1 , sizeof(str) , fp );

   fclose(fp);
  
   return(0);
}

Biên dịch và chạy chương trình trên sẽ tạo baitapc.txt

Bây giờ theo dõi nội dung file trên bởi sử dụng chương trình C sau:

#include <stdio.h>

int main ()
{
   FILE *fp;
   int c;

   fp = fopen("baitapc.txt","r");
   while(1)
   {
      c = fgetc(fp);
      if( feof(fp) )
      {
         break ;
      }
      printf("%c", c);
   }
   fclose(fp);
   return(0);
}

Biên dịch và chạy chương trình C trên để xem kết quả