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

كيف افتح ملف و اكتب فيه عن طريق السي؟

مغلق
بدأه E-Mad في 14 أكتوبر 2004 · 9 رد · 901 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

حبيت اسال عن الطريقة الصحيحة لفتح ملف للقراءة او للكتابة او للاثنين معا

و ما هي الاوامر التي تؤدي لذلك بالتفصيل اذا امكن

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

FILE *fptrsl,*fptril,*fptrtl;

fptrsl=fopen("c:\file.dat","r");

fptril=fopen("c:\file2.dat","w+");

fptrtl=fopen("c:\file3.dat","w");

fclose (fptrsl);

fclose (fptril);

fclose (fptrtl);

#2

السلام عليكم

اهلا وسهلا

بالنسبة لدوال انت كاتبها ولكن مشكلتك الرئسية وخطأك _ أتوقع _ هو ان الملف غير موجود على المكان الذي حددته

لان الدالة fopen اذا لم تجد الملف ستعيد قيمة تدل على ان الملف غير موجود اصلا

ولذلك اكتب الكود وانشأ ملف الادخال في المكان المحدد ثم قم بالعمل الذي تريد.

اذا لم تصل الفكرة سأشرح ذلك بالتفصيل مع مثال ولكن بعد يوم السبت لاني مشغول جدا فما هو رأيك؟

اللهم علمنا ما ينفعنا وأنفعنا بما علمتنا أنك أنت العليم الحكيم

سبحان الله وبحمده سبحان الله العظيم

لاحول ولاقوة الا بالله( كنز من كنوز الجنة ).

#3

هذا موقع الملف للتاكد اخوي

بس للتاكد انا كتبت الدوال في الmain

فهل المفترض اني اكتبها في مكان ثاني؟

post-14-1097862808_thumb.jpg

تم تعديل هذه المشاركة بواسطة E-Mad في 15 أكتوبر 2004 في 20:58

#4

أخي الكريم .. الخطأ واضح في طريقة فتح الملف ؟

مثلا المسار = c:\myfile

في لغة السي الفاصل يكتب مرتين = c:\\myfile

مثال المسار = c:\my\pro\file

في لغة السي = c:\\my\\pro\\file

نبدأ في الكود الذي كتبت

السطر الأول يتحول إلى

fptrsl=fopen("c:\\fileme.txt","w+");

البارمتر الأول معروف وهو مسار الملف

البارمتر الثاني

إما w = للكتابة فقط

r = للقرائة فقط

w+ =للكتابة والقرائة .. وإذا لم يكن الملف موجود في المسار أنشأ ملف جديد

r+ = للكتابة والقرائة .. وإذا لم يكن الملف موجود لا تفعل شيء وإنهي العملية

لاحظ سأقوم بكتابة كود.. عندما تشغل البرنامج سيقوم بفتح ملف وإذا لم يجد الملف

سيقوم بإنشاء ملف جديد والكتابة بداخلة

void main ( ) 
{

FILE *fptrsl;
fptrsl=fopen("c:\\fileme.txt","w+");
fwrite("fff",1,3,fptrsl);
fclose (fptrsl);

}

لاحظ الدالة fwrite وهي للكتابة في الملف

البارمتر الأول .. البيانات التي تريد كتابتها

البارمتر الثاني = حجم الحرف ..دائما =1 إلى إذا أردت كتابتة بصيغة اليونيكود

المهم لتفادي أي خطأ في حجم الحرف أكتب في نفس البارمتر sizeof(char);

البارمتر الثالث = رقم 3 وهو عدد الحروف

البارمتر الرابع = مقبض الملف

وهذة الطريقة نفسها في القرائة من الملف

--

http://www.jaascois.com

*************************************************

مجموعة مواضيع - إحتراف البرمجة -

ّ~~~~~~~~~~~~~~~~~~~~~~

البرمجة المتقدمة & الهندسة العكسية & برمجة وأمن الأنظمة

/index.php?showtopic=45002

آخر المواضيع :

+- تحليل جرائم الكمبيوتر -+

أنظمة اليونكس(Solaris,HP, AIX,SCO)وانواع المعالجات

ثغرة SMS لأجهزة الجوال Siemens 3568i !

أخطاء وثغرات البرامج العربية !!!

سلسلة مواضيع - أمن وحماية مواقع الويب -

E البرمجة المتقدمة X للملفات التنفيذية E

سلسلة مواضيع ثغرات الأنظمة وإختراق الأجهزة

**************************************************

<span style='font-size:14pt;line-height:100%'>الإرادة تحـــقق السيـــادة</span>

**************************************************

#5

اضافة لما قدمه اخي jass .

هنالك دوال منها

fprintf(ptr,"%d",x);

حيث ptr اسم مؤشر للملف للطباعة.

والبارمتر الذي بعده للفورمت %d %s %f ..... الخ

والمتغير x اطبع قيمة صحيحة

وبنفس الطريقة دالة القراءة

fscanf( اسم الملف,"%",المتغير )

ودالة fgetc(input)

لقراءة حرف واحد كل مرة من الملف وغيرها .

اتمنى وصلت الفكرة.

أخي jass دالة write & read هل هي مستخدمة أي هل تقوم بقراءة كيان الى تركيب

في هياكل البانات أم لا.

قصدي نقرأ ونطبع كل مرة مجموعة متغيرات هيكل بيانت هل هذا ممكن ؟؟؟؟؟؟؟؟؟؟

وكيف البارمتر للدالة ومثال الله لايهينك.

اللهم علمنا ما ينفعنا وأنفعنا بما علمتنا أنك أنت العليم الحكيم

سبحان الله وبحمده سبحان الله العظيم

لاحول ولاقوة الا بالله( كنز من كنوز الجنة ).

#6

السلام عليكم

لو سمحت ممكن ان تقوم بشرح الكود الذي أتمكن من خلاله القراءة من ملف مخزن عندي بالجهاز

,وكذلك عمل بحث من داخل الملف واسترجاع قيمة معينه وأخيرا كيف يمكن ان أكتب لملف اخر مخزن بالجهاز

ولكم تحياتي

1+1=10

#7

مشكورين يااخوان على المساعدة و ما قصرتوا فعلا

بس سؤال اخير

لو اردت اني انشيء دالة تقوم بعمل معين للملف مثل البحث فيه عن شيء معين حتى نهاية الملف

فكيف اعمل استدعاء للملف من داخل الدالة ؟؟

#8

شكراااااا يا باشا على الموضع العظيم دة يابنى ربنا يوافقك وشكرا

اليك الملك المدمر

الشهير بمملكة الدمار

mido_hely_2010@hotmail.com

الله

لاالة الا الله محمد رسوال

#9

السلام عليكم

الجواب في البرنامج المرفق افهمه جيداولعل هو المطلوب والاسلام عليكم

file.cpp

اللهم علمنا ما ينفعنا وأنفعنا بما علمتنا أنك أنت العليم الحكيم

سبحان الله وبحمده سبحان الله العظيم

لاحول ولاقوة الا بالله( كنز من كنوز الجنة ).

#10

الف شكر لك اخوي السهم الناري

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

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

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

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

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

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