السلام عليكم : ما هو عمل الدالة , يرجى ذكر مثال بسيط إن أمكن و جزاكم الله خيراً.
fflush(stdin)
من فضلك، شارك الأمور القاصر على C و ++C في مجتمعهما
فمجتمع البرمجة للأمور العامة
-
حين تستخدم دوال مثل fwrite و fputc و fputs لا يتم الكتابة في الملف مباشرة،
بل تُحفظ في الفيض Stream ودالة fflush تُفرغ الفيض إلى الملف، هذا في وضع الكتابة
أما في وضع القراءة فالبعض يستخدمها لمسح محتوى الفيض(وهذا سلوك غير محبذ)
flushing a stream open for reading causes its input buffer to be cleared (but this is not portable expected behavior).
المصدر
C program to write all the members of an array of strcures to a file using fwrite(). Read the array from the file and display on the screen.
#include <stdio.h>
struct s
{
char name[50];
int height;
};
int main(){
struct s a[5],b[5];
FILE *fptr;
int i;
fptr=fopen("file.txt","wb");
for(i=0;i<5;++i)
{
fflush(stdin);
printf("Enter name: ");
gets(a[i].name);
printf("Enter height: ");
scanf("%d",&a[i].height);
}
fwrite(a,sizeof(a),1,fptr);
fclose(fptr);
fptr=fopen("file.txt","rb");
fread(b,sizeof(b),1,fptr);
for(i=0;i<5;++i)
{
printf("Name: %s\nHeight: %d",b[i].name,b[i].height);
}
fclose(fptr);
}
التعليقات