الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سوال في التعامل مع الملفات في السي بلس بلس

بدأه sad girl في 7 أغسطس 2009 · 13 رد · 1,202 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سلااااااااااااام

كيف افتح ملف

1-اكتب فيه

2-اقرا منه

3-اعملupdate

#include <fstream.h>

int main()

{

ofstream f("pl.txt");

f<<"meeeeeee";

f.close();

{

ifstream openfile("pl.txt");

{

char ch;

while(!openfile.eof())

{

openfile.get(ch);

cout<<ch;

}

cout<<endl;

f.close();

}

openfile.close();

openfile.seekg(0,ios::end);

cout<<openfile.tellg();

}

openfile.seekg(0,ios::end);

cout<<openfile.tellg();

return 0;

}

__________________

تم تعديل هذه المشاركة بواسطة sad girl في 7 أغسطس 2009 في 16:12

#3

اهلين محمد وشكرا لك على تعاونك

شفت الموضوع بس الطريقه الى جايبين فيها الحجم مثلاا صعبه

وانا طريقيتي اصح الى هي باستخدام function seek and tellزي ما انا عامله يس

update مررررررررره ما عرفتلها

تم تعديل هذه المشاركة بواسطة sad girl في 7 أغسطس 2009 في 09:31

#4

السلام عليكم

تعديل الكود مع تعليقات بسيطه

#include <fstream.h>
 int main()
 {
	 int index;
	 ofstream f("pl.txt");
	 f<<"my name is ala";
	 f.close();
		 ifstream openfile("pl.txt");	
			 char ch;			
			 while(!openfile.eof())
			 {
				 openfile.get(ch);
				 cout<<ch;
			 }
			 cout<<endl;		
		 openfile.seekg(0);// to return to the first of file		
		 openfile.seekg(0,ios::end);// goto the end of file
		 cout<<openfile.tellg()<<endl;	
		 openfile.seekg(0); // return again to the first
		 cout<<" Enter the index : ";
		 cin>>index;
		 cout<<" enter new char : ";
		 cin>>ch;
		 f.open("pl.txt",ios::ate);// to open file for writing
		 f.seekp(index); // to put the write pointer in the index
		 f<<ch;
		 f.close();
	 return 0;
 }

وانتى حاولى تكتبى البرنامج بإستخدام switch

بالتوفيق

تم تعديل هذه المشاركة بواسطة amin_mu123 في 7 أغسطس 2009 في 12:31

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

#5

والله اخوي ما قصرت وجزاك الله الف خير

وان شاء الله اقدر ارد لك وللمنتدى هذا الجميل واكون عضوه نافعه فيه باذن الله

انا اضفت السوتش ومني عارفه كيف افصل الحالات وهل الى عملتو صح

#include <fstream.h>
int main()
{
	char x;
cout<<"enter youe operator w=write to file  r= read from file  u=update the file s=finde the size of file"<<endl;
cin>>x;
switch(x)
{

case 'w':
	 int i;
	 ofstream f("file.txt");
	 f<<"al salam alakooom";
	 f.close();
	 break;

case 'r':
		 ifstream openfile("file.txt");	
			 char ch;			
			 while(!openfile.eof())
			 {
				 openfile.get(ch);
				 cout<<ch;
			 }

			 cout<<endl;
			 break;


case 's':
		 openfile.seekg(0);// to return to the first of file		
		 openfile.seekg(0,ios::end);// goto the end of file
		 cout<<openfile.tellg()<<endl;

			 break;

case 'u':

		 openfile.seekg(0); // return again to the first
		 cout<<" Enter the index : ";
		 cin>>i;
		 cout<<" enter new character : ";
		 cin>>ch;
		 f.open("file.txt",ios::ate);// to open file for writing
		 f.seekp(i); // to put the write pointer in the index
		 f<<ch;
		 f.close();
		 break;



}
	 return 0;
}

تم تعديل هذه المشاركة بواسطة sad girl في 7 أغسطس 2009 في 13:51

#6

بليز الى يعرف اش مشكله السوتش

حقتي يقولي لاني شايفتها صح بس يطلعلي خمس اغلاط زي بعض

وحبيت اكرر شكري ل

amin_mu123

على المجهود الى سواه وان شاء الله في ميزان حسناتك

#7

السلام عليكم...

مرحباً...

هيك بس و بسرعة...مشكلتك مش بجملة switch عـ الأقل نحوياً متل ما انا شايفتن.

. انتي ناسية تعملي اضافة وبعض الأشيا متل تضمين المكتبة iostream لإستعمال الكائنات cin و cout.

و أيضاً استعمال كلمة using ....

حاولي تعملي اضافة للسطرين التاليين...ضرورية كتير

  1.  
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6.  

موفقة يارب

bye

أو ربما موجودة بنفس الـ fstream...

آسفة انا ناسية المكتبة القياسية بالمرة...

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#8

اهلين رغووووووده

وشكراا على المداخله

بس ما احتاج اني اكتب الى بتقولي عليه لان المكتبه الى حاطتها شامله لكل هذااا

بس ما ني عارفه هو المشكله فين بدايه الملف ونهايته الى ما ني عارفه احددها

لان كل طلب لازم في كيس

الكتابه في الملف

القراءه منه

التعديل عليه

اجيب حجمه

#9

العفو أختى

التعديل المطلوب

#include <fstream.h>
   int main()
   {
	   char x,ch;
	   ofstream f;
	  int i;
	   ifstream openfile;
	   cout<<"enter youe operator \n w=write to file\n  r= read from file\n  u=update the file\n s=finde the size of file"<<endl;
	   cout<<"\n your choice : ";
	   cin>>x;
	   switch(x)
	   {

	   case 'w':

			f.open("file.txt");
		   f<<"al salam alakooom";
		   f.close();
		   break;

	   case 'r':
			openfile.open("file.txt");	

		   while(!openfile.eof())
		   {
			   openfile.get(ch);
			   cout<<ch;
		   }

		   cout<<endl;
		  openfile.close();
		   break;


	   case 's':
		   openfile.open("file.txt");		
		   openfile.seekg(0,ios::end);// goto the end of file
		   cout<<openfile.tellg()<<endl;
		   openfile.close();
		   break;

	   case 'u':
		   cout<<" Enter the index : ";
		   cin>>i;
		   cout<<" enter new character : ";
		   cin>>ch;
		   f.open("file.txt",ios::ate);// to open file for writing
		   f.seekp(i); // to put the write pointer in the index
		   f<<ch;
		   f.close();
		   break;



	   }
	   return 0;
   }

ولكن يجب أن يكون هناك بعض الإضافات وهى التأكد من وجود الملف فى حالة التعديل أو ايجاد الحجم

تحياتى

تم تعديل هذه المشاركة بواسطة amin_mu123 في 7 أغسطس 2009 في 18:14

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

#10

اهلين اختي...

حسناً

انا رايحة ساعدك ببعض الأشيا...و بنتعاون مع باقي الأخوة الكرام(لأني بجد ناسية المكتبة القياسية بالكامل)...

حسناً

عندك بالـ case الأول...عاملة متغير i من نوع int. لش عاملتيه هون(هنا)؟

لأن المستخدم للبرنامج لو بيختار الكيس u ببداية البرنامج ما بيتعرف البرنامج على i

لهيك اكتبي تعريف هالمتغير بقلب الدالة main بالزبط فوق او تحت تعريف الحرف c

  1.  
  2. char c;
  3. int i;
  4.  

آسفة لتقصير و هيك بظن, ضروري تنقلي تعريف المتغير i لمجال أوسع

موفقة يارب

bye

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#11

تعاونكم اسعدني

وبأذن الله استطيع رد الجميل

وبالنسبه لتاكد من وجود الملف سهل ان شاء الله اعملوو

#12

كلام الأخت رغد سليم تماما

من الأفضل تعريف جميع المتغيرات قبل switch

وقمت بتعديل الكود السابق

سلام

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

#13
amin_mu123 كتب:
كلام الأخت رغد سليم تماما

من الأفضل تعريف جميع المتغيرات قبل switch

وقمت بتعديل الكود السابق

سلام

كنت متأكدة بأنك ما كنت ماخد بالك

ما علشي, بنتشوشر ببعض الأحيان!!

:happy:

شكراً لكل مجهوداتك الواضحة بالقسم اخي

شاكرة اهتمامك بالقسم

بارك الله بك

:ty:

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#14
اقتباس
شكراً لكل مجهوداتك الواضحة بالقسم اخي

شاكرة اهتمامك بالقسم

بارك الله بك

االعفو أختى رغد ,,,

من بعض ما عندكم

جزاكى الله خيرا :)

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…