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

كيف افتح ملف من نوع txt

مغلق
بدأه الزعيم 2005 في 10 مايو 2005 · 11 رد · 1,152 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته :rolleyes:

سويت برنامج صراف آلي متكامل وحفظت كل عملية يقوم بها المستخدم في ملف من نوع txt وكل عميل له ملف خاص ........ المهم

باقي لي كيف استدعي ( statment ) هذا الملف ( انتبهوا لو سمحتم ) ، انا ما ابغى البرنامج يقرأ المتغيرات ويخرجها من الملف ( لأن في هذي الطريقة في برنامجي ما تعطيني المطلوب ) ... المهم

كيف اقوم بقراءة جميع محتوات الملف ( معلومات نصية) واقوم باخراجها اثناء تنفيذ البرنامج من دون قراءة متغيرات ، يعني ابغى كل شي يطلع من الملف( جميع المحتويات النصية ) عندي اثناء تشغيل البرنامج .. وشكرا لكم :(

وشاكرين لطفكم وتعاونكم معنا :D

#2

ارجو وضع مثال لان الموضوع غير واضح

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#3

نعم, ما هو نوع النصوص المكتوبة في الملف؟ وماذا تريد ان تفعل بها بالظبط؟ لان الصورة غير اضحة كما قال الـ"باشمهندس"

#4

أتوقع يقصد أنه يريد يقرأ محتوى الملف كاملاً ، فقط قم باستخدام fgetc في لووب إلى EOF شوف الكود سهل مره :-

#include "stdio.h"
#include "string.h"
#include "stdlib.h"


int main(int argc, char* argv[])
{
	FILE * pFile;
	long n = 0;
	char c,save[2048]; //make sure its enough
	pFile = fopen ("C:\\xxx.txt","rb");
	if (pFile==NULL) 
  printf("[+] Error opening file");
	else
	{
  while (!feof(pFile)) 
  {
 	 c =fgetc (pFile);
 	 save[n]=c; /* save the read data to a buffer */
 	 n++;    /* be carfull not to overflow it  */
  }
	save[n] = '\0';// add a null at the end to terminate it
	fclose (pFile);
	printf ("%s\nnumber of bytes read: [%d]\n",save,n);
	// print the string and number of bytes read
	}
  return 0;
}
#5

بسم الله الرحمن الرحيم

كل ما عرفتة هو ان انت تريد قراءة محتويات الملف كلة

دوة عبارة عن دالة تعمل على طباعة كل محتويات الملف

 DB.open("allam.txt", ios::in|ios::binary);
 if(!DB)
    {
     cout<<"Can't Open  File";
     DB.close();
     DB.close();
     getch();
     back();
    } 
          IndexName.open("INDEXNAEME.txt",ios::in);
 while(1)
    {
 //    IndexName.read(reinterpret_cast<char*>(&index2),sizeof(index2));
  //   if(IndexName.eof())
   //     break;

   // if(i.flag==1)
        {
         clrscr();
   ///      DB.seekg(i.num,ios::beg);
     //    DB.read(reinterpret_cast<char*>(&l),sizeof(l));
   
   
    cout<<l.isbn<<"\t";
     cout<<l.BookName<<"\t";
     cout<<l.PublisherName<<"\t";
     cout<<l.AuthorName<<"\t";
     cout<<l.NumOfCopies<<"\n";    */
     cout<<index2.N<<"\t";
     cout<<index2.BOOKNAME<<"\n";
     getch();
       // }

    }

/****************************************************************************************/

,ودة عبارة عن كود

يطبع الحاجت اللى ف الملف

وهى اسم الكتاب والمؤلف ورقم الكتاب وعدد النسخ الموجودة منة فى المكتبة والكود دة

اللى مش علية cooment حيث يقراء ويطبع البيانات اللى موجودة

اما عن الحاجات اللى على الcomment دى بسبب استخدام index file فية ال

ofesset of the record ورقم الكتاب

وflag هل هوة معمولة delete ولا لأ ودة عبارة عن الalogorithm المستخدم للتسهيل ف قراءة الdata

من ال data file بسبب كبر حجم الdata file

يارب اكون اوضحت لك ما تريدة

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#6

الأخ v1r05 ( جزاه الله الف خير ) اعطاني الي اقصدة أنا ، لكن في السطر :

pFile = fopen ("C:\\xxx.txt","rb");

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

أما الأخ eng_3llam ( الله يعطيه العافية ) ما فهمت لأن أنت اعطتني اسمين لم allam.txt و NDEXNAEME ، طيب فين احط اسم الملف بتاعي ال هو مثلاً mm.txt ، لأن صار يحطيني اخطاء يا ريت لو توضح شويه اذا كان ما فيه احراج .

والله يجزاكم الف خير ( مع العلم اني من سكان المدينة المنورة وان شاء الله راح ادعيلكم في الحرم )

وشكراً للجميع على التعاون .

#7

اذا كان الملف في نفس مكان البرنامج, فيمكنك كتابة اسم الملف بدون اي سلاشات.

#8

مشكور يا أخ hasan_aljudy ، مع العلم يا شباب اني وجدت طريقة أخرى لقراءة جميع محتويات الملف النصي بطريقة أن نقرأ جميع محتويات الملف حرف حرف من char وسأكتب الطريقة لمن حب أن يستفيد من هذا الموضوع :

void main ()

{

cahr ch

ifstream infile ("test.txt");

while (infile)

{

infile.get(ch);

cout << ch ;

}

وشاكر لكل من شارك وساهم في هذا الموضوع

#9

هذه الطريقة التي ذكرتها بطيئة جدا لانك تقرأ الملف حرف حرف

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#10

نعم يا باش مهندس ، بس هي تعتبر طريقة حلوة وسريع في التنفيذ ( طبعاً للملفات التي لا تحتوي على معلومات أو محتوى كبير )

فأنا وضعتها لمن يريد استدعاء الملفات التي البسيطة أو المتوسطة المحتوى .

العموم مشكور ... ( وهذه الطريقة أحسن من لاشيء ) . :(

#11

حط الاسم الملف مكان الallam.txt

وسيبك من الindexfile علشان دة

بتاع الindex ودة algorithm شغال بية كما قولت ولكن مكان allam.txt

فقط

وأأسف على الرد المتأخر

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#12

ممكن الكود التالي يقرأ لك الداتا من ملف txt

void class_name::read_data()
{
	string temp;  
	fstream read ("data.txt", ios::in);
      
  if(!read)
  {
        cerr<<"File Not Found"<<endl;
     exit(0);
  }
 	 while(!read.eof())
  {
           read>>temp;
  }   
          
  
}

12.gif

cs.jpg

هذا الموضوع مغلق.

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