English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل تعليمات C الأساسية

تحكم عملية C

الوظائف في لغة C

المجموعات في لغة C

المراجع في لغة C

الخطوط في لغة C

مبادئ C

ملفات C

C أخرى

دليل مكتبة C

استخدام وظيفة fsetpos() في مكتبة C و مثال

مكتبة C - <stdio.h>

وظيفة مكتبة C int fsetpos(FILE *stream, const fpos_t *pos) تحديد تدفق stream وضع الملف pos هو الموقع الذي تم تحديده بواسطة وظيفة fgetpos.

الإعلان

إليك إعلان وظيفة fsetpos().

int fsetpos(FILE *stream, const fpos_t *pos)

المعدلات

  • stream -- هذا هو سلسلة مرجعية إلى جسم FILE، الذي هو علامة على تدفق.
  • pos -- هذا هو سلسلة مرجعية إلى جسم fpos_t، الذي يحتوي على الموقع الذي تم الحصول عليه مسبقًا بواسطة fgetpos.

القيمة المعدة

إذا كانت النتيجة ناجحة، فإن الوظيفة تعود قيمة صفر، وإلا تعود قيمة غير صفر وتقوم بتعيين متغير عالمي errno للعثور على قيمة إيجابية، يمكن تفسيرها باستخدام perror.

النموذج عبر الإنترنت

النموذج التالي يوضح استخدام وظيفة fsetpos().

#include <stdio.h>
int main ()
{
   FILE *fp;
   fpos_t position;
   fp = fopen("file.txt","w+");
   fgetpos(fp, &position);
   fputs("مرحبًا، عالمًا!", fp);
   fsetpos(fp, &position);
   fputs("سيقوم هذا بتغطية المحتويات السابقة", fp);
   fclose(fp);
   return(0);
{}

دعونا نشرح ونشغل البرنامج المذكور أعلاه، سيقوم بإنشاء ملف file.txt، محتوياته كالتالي. أولاً نستخدم fgetpos() وظيفة للحصول على موقع الملف الأولي، ثم نكتب في الملف مرحبًا، عالمًا!ثم نستخدم fsetpos() وظيفة لاستعادة مؤشر الكتابة إلى بداية الملف، وإعادة كتابة الملف بالمواد التالية:

سيقوم هذا بتغطية المحتويات السابقة

الآن دعونا نستخدم البرنامج التالي لعرض محتويات الملف المذكور أعلاه:

#include <stdio.h>
int main ()
{
   FILE *fp;
   int c;
   fp = fopen("file.txt","r");
   while(1)
   {
      c = fgetc(fp);
      if( feof(fp) )
      {
          break ;
      {}
      printf("%c", c);
   {}
   fclose(fp);
   return(0);
{}

مكتبة C - <stdio.h>