اذهب إلى المحتوى
  • 0

++c أريد نقل محتوى ملف الى ملف أخر

omar zizou

السؤال

السلام عليكم 

مرحبا لقد قمت بكتابة هادا الكود بلغة ++c لنقل محتوى ملف  a.txt الى abc.txt فظهر خطئ ولم أستطع تنفيد . أريد حل ؟؟

#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
    

    FILE* pFile;
    FILE* pofg;
    pFile = fopen("a.txt", "r");
    pofg = fopen("abc.txt", "w");
    if (pofg != NULL)
    {
        fputs(pFile, pofg);
        fclose(pofg);
    }
    return 0;
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يوجد لديك خطأ في إستعمال الدالة fputs هذه الدالة تستقبل سلسلة نصية على شكل مصفوفة محارف كمُعامل أول و مؤشر على File كمُعامل ثاني بهذا الشكل مثلاً:

#include <stdio.h>

  int main () {
  FILE *fp;

  fp = fopen("file.txt", "w+");

  fputs("This is c programming.", fp);
  fclose(fp);

  return(0);
}

أنت لم تقرأ شيء من الملف الذي تريد نقل مُحتواه فللكتابة في الملف الثاني يجب قراءة مُحتوى الملف الأول ثم نقله للملف الثاني بهذا الشكل مثلاً:

#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{


  FILE* pFile; // المصدر
  FILE* pofg; // الخرج
  char ch; // مُتغير سنستخدمه للقراءة
  pFile = fopen("a.txt", "r"); // فتح المصدر للقراءة
  pofg = fopen("abc.txt", "w"); // فتح الخرج للكتابة

  if (pFile != NULL) // إذا كان المصدر لا يُساوي null
  {
    ch = fgetc(pFile); // قراءة المحرف الأول من المصدر
    while(ch != EOF) // بما اننا لم نصل إلى نهاية الملف
    {
      fputc(ch, pofg); // أكتب في الخرج ما قمت بقرائته
      ch = fgetc(pFile); // واصل القراءة
    }
    cout<<"\nFile copied successfully."; // تم نقل المحتوى
    fclose(pFile); // غلق المصدر
    fclose(pofg); // غلق الخرج
  }
  return 0;
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 3 ساعات قال omar zizou:

شكراا أخي إدا لا بد أن أقوم بقرأة ثم أقوم بتخزينها في ch 
هل توجد طريقة تضمين الملف الأول a.txt داخل ملف التنفيدي ثم استدعائه ؟

لم أفهم ماذا تريد بالضبط في هذه النقطة:

بتاريخ 3 ساعات قال omar zizou:

هل توجد طريقة تضمين الملف الأول a.txt داخل ملف التنفيدي ثم استدعائه ؟

الإنسان حتى ينقل محتوى ملف يقرأ من الملف الأول ثم يُخزن ما قرأ في ذاكرته و بعد ذلك يكتب ماهو موجود في ذاكرته، نفس الشيء تقريباً هنا يجب فتح الملف الأول للقراءة و الثاني للكتابة ثم كل حرف تقرأه من الملف الأول تكتبه في الملف الثاني حتى نصل للنهاية.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 22 دقائق مضت قال omar zizou:

بدل مايكون ملف txt.a و ملف exe أريد أن أجعله ملف واحد exe فقط

و القيم الموجودة في ملف txt.a أريد أن أخزنها على exe و أستدعيها لإنشاء ملف abc.txt

لا أدري ماذا يوجد في الملف a.txt لديك لكن كما أخبرتك سابقاً يُمكن إستخدام مُتغير من نوع string تُخزن فيه مُحتوى الملف a.txt ثم تكتب ما خزنته بإستعمال الدالة fputs في الملف الذي تريد بهذا الشكل: 

#include <stdio.h>
#include <string>
using namespace std;
int main () {
  FILE *fp;
  string content = "content of source file";
    
  fp = fopen("file.txt", "w");

  fputs(content.c_str(), fp);
  fclose(fp);

  return(0);
}
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 6 ساعات قال عبود سمير:

لا أدري ماذا يوجد في الملف a.txt لديك لكن كما أخبرتك سابقاً يُمكن إستخدام مُتغير من نوع string تُخزن فيه مُحتوى الملف a.txt ثم تكتب ما خزنته بإستعمال الدالة fputs في الملف الذي تريد بهذا الشكل: 


#include <stdio.h>
#include <string>
using namespace std;
int main () {
  FILE *fp;
  string content = "content of source file";
    
  fp = fopen("file.txt", "w");

  fputs(content.c_str(), fp);
  fclose(fp);

  return(0);
}

ملف a.txt يحتوي عى عنوبن ip أكثر من 10000 سطر أريد تضمينهم في ملف .h واستدعائه لإنشاء ملف abc.txt عند التنفيد

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...