fwrite
من cppreference.com
معرفة في ملف <stdio.h> | ||
size_t fwrite(constvoid*buffer, size_t size, size_t count, FILE *stream ); | (حتى C99) | |
size_t fwrite(constvoid*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");constchar* 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 (دالة) | |
تكتب سلسلة من الحروف إلى داخل تيار ملف. (دالة) | |
تقرأ من ملف (دالة) | |
مقالة مرجع C++ عن fwrite |