المتغيرات
فضاءات التسمية
أفعال

fwrite

من cppreference.com
< c‏ | io

معرفة في ملف <stdio.h>
size_t fwrite( const void *buffer, size_t size, size_t count,
               FILE *stream );
(حتى C99)
size_t fwrite( const void *restrict buffer, size_t size, size_t count,
               FILE *restrict stream );
(منذ C99)

تكتب عدد ‎count‎ من الكائنات في مصفوفة معطاة ‎buffer‎ إلى تيار الإخراج المعطى ‎stream‎. لا يتم محاولة ترجمة المدخلات باي شكل من الأشكال.

محتويات

[تعديل] المعطيات

buffer - مؤشر إلى مصفوفة سيتم كتابة الكائنات الموجودة فيها
size - حجم كل كائن بالبايت
count - عدد الكائنات التي سيتم كتابتها
stream - تيار البيانات المراد الكتابة فيه

[تعديل] القيمة المُرجعة

عدد الكائنات التي كُتبت بنجاح.

[تعديل] مثال

fwrite مع التأكد من عدم حدوث أخطاء

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    // write buffer to file
    FILE *f1;
    char buffer[] = { 'x' , 'y' , 'z' };
    f1 = fopen("file.bin", "wb");
    int ret_code = fwrite(buffer, sizeof(char), sizeof(buffer), f1);
    if (ret_code < (int)sizeof(buffer))
       if (ferror(f1))
       {
          perror("fwrite()");
          fprintf(stderr,"fwrite() failed in file %s at line # %d\n", __FILE__,__LINE__-5);
          exit(EXIT_FAILURE);
       }
    fclose(f1);
 
    // read the same data and print it to the standard output
    FILE *f2;
    char rbuf[10];
    f2 = fopen("file.bin", "rb");
    const char* res = fgets(rbuf, sizeof(rbuf), f2);
    fclose(f2);
 
    if (res) { // points to rbuf on read success, NULL on failure
        puts(res);
    }
 
    return EXIT_SUCCESS;
}

الخرج:

xyz

[تعديل] أنظر أيضا

تطبع خرج منسق في stdout‎ أو تيار ملف أو Buffer
(دالة) [edit]
تكتب سلسلة من الحروف إلى داخل تيار ملف.
(دالة) [edit]
تقرأ من ملف
(دالة) [edit]