أهلا ومرحبا بكم مرة أخرى.
في هذه المحاضرة أريد أن أقدم عرض توضيحي
لتحدينا الأول للقراءة من ملف.
سنقوم بحساب عدد خطوط داخل ملف باستخدام fgetc.
فلنطرح قوالب الكود ، ودعنا ننشئ مشروعنا.
هنا ، سنقول فقط مشروع جديد ،
وسيكون محاذاة قراءة أساسية.
لذلك قل تطبيق وحدة التحكم حدد ج ، وسنسمي هذا العدد الأساسي أو العد
العددي من الأسطر كيف حول عدد الأسطر.
وهذا سيخلق هدفنا الرئيسي. ج وهو أمر جيد.
حتى قبل أن نبدأ هذا التطبيق على الرغم من ذلك ، نريد إنشاء ملف يحتوي
على بعض النصوص.
نظرًا لأننا لا نكتب ، فنحن فقط القراءة في عدد الأسطر.
لذلك عليك أن تعرف أين قمت بحفظ مشروعك.
أنا أقوم بحفظ مشاريعي بالداخل من دليل التنزيلات الخاص بي.
وعندما تقوم بإنشاء مشروع جديد داخل دليل التنزيلات ، ستنتقل
إلى اسم المشروع هذا.
اسم مشروعي هو عد عدد الأسطر.
حتى داخل عدد العد خطوط ، لدي رئيسي. ج ملف.
يمكنني إنشاء ملفي في هذا الدليل.
لذلك أنا ذاهب إلى اليمين فقط انقر داخل الدليل
وسأقول جديد وأنا ذاهب لإنشاء ملف نصي.
هذه وثيقة نصية جديدة ، وسوف يتم اختباره. نص.
سأقوم بفتحه.
يمكنك أن تفتح في أي المحرر ، هذا هو لوحة الدفتر.
سوف يتم وضعها بعض السطور ، مرحبا.
سيتم اختبار هذا ل المحاسبة ، حسنًا ، مجرد مجموعة من السطور
ثم أنت تريد حفظ ذلك وإغلاقه.
الآن بعد أن تم إنشاء ملفي ، يمكنني ذلك في الواقع تبدأ في تنفيذ شيء ما.
أول شيء أريد أن أفعله هل أريد إنشاء
متغير ثابت لاسم الملف.
لذلك سأقوم باستخدام تعريف.
هذا سيمثل اسم الملف الخاص بي.
سأقول اسم الملف في الكل قبعات ، وسيكون هذا مساويًا
لكل ما سميته للتو ، وهو مرة أخرى هو الاختبار. نص ، لذا اختبر. نص.
وكل ما عندي من الكود سوف يذهب أن تكون وظيفتي الرئيسية.
أريد إنشاء مؤشر ملفي.
تذكر ، لإنشاء مؤشر ملف ، ما عليك سوى استخدام جميع الأحرف الكبيرة FILE
، ثم قل نجمة ثم يمكنك قول fp.
وانا ذاهب الى تهيئة ذلك إلى لاغية.
كلما فعلت ملف القراءة والكتابة ، عليك التأكد من تضمين
lib القياسي. ح.
سأقوم أيضًا بإنشاء أغنية منفردة الشخصية التي سيتم استخدامها.
سأقول شار فقط ، وبعد ذلك سأقوم بإنشاء
عداد لجميع خطوطي.
سأقول عدد الأسطر int.
وسأقوم بتهيئة ذلك إلى 0.
أول شيء عليك القيام به ومتى تقوم بأي نوع من القراءة
من الملفات ، عليك أن تفتحها.
إذن وظيفة f المفتوحة هي سوف يعود مؤشر الملف.
لذلك أريد تعيين ذلك إلى متغير fp وأريد أن أقول
وفتح واسم الملف الاسم الذي قمت بتعريفه بالفعل هو
اسم ملف ثابت.
وأريد الانفتاح على القراءة والقراءة فقط لذلك أقول فقط r.
لذلك هنا أريد أن أفعل fopen مع بلدي اسم الملف باعتباره ثابتًا ثم r بعلامات
اقتباس مزدوجة هذا هو وضعنا.
أريد أن أقرأ فقط.
لا اريد ان اكتب.
إذا قمت بإجراء r plus ، فأنا سيكتب كذلك.
قبل أن نستخدم المؤشر ، فإن يمثل المؤشر الملف.
اريد ان اتأكد من ذلك المؤشر لا يساوي فارغًا ، لذلك
أريد أن أفعل f.
أريد أن أقول أن fp يساوي null.
ثم إذا كان يساوي لا شيء ، أنا فقط تريد عرض خطأ في المقابل.
لذلك أريد أن أفعل شيئًا مثل ملف printf غير موجود ، كل ما تريد
القيام به.
وهذا ما سيحدث بعد ذلك.
نحن فقط نريد العودة أ سالب 1 من الدالة.
بعد أن فتحنا الملف ، نحن الآن يمكننا بالفعل بدء
قراءة الأحرف ، حتى نتمكن من كتابة حلقة while و نريد أن نقول بينما شخصيتنا
التي هي شخصية تساوي fgetc.
Fgetc يقرأ حرف واحد.
نمرر في مؤشر الملف لدينا ، و نريد أن نقول بشكل أساسي
أننا نريد قراءة الأحرف حتى نرى eof.
لذلك نقول حتى لا يساوي eof.
ثم سنقفز من حلقتنا ، شيء من هذا القبيل.
لذلك سنقرأ بالأحرف حتى نصل إلى نهاية الملف.
طالما أن شخصيتنا ليست كذلك سطر تغذية ، نريد الزيادة فقط عندما
نرى خط تغذية.
لذلك سنقول ما إذا كانت شخصيتنا يساوي خط تغذية ، ثم نريد زيادة العداد
بشكل أساسي.
نريد فقط أن نقول أن عدد الأسطر زائد زائد ، هذا سيحسب خطوطنا.
ثم نقفز خارج الحلقة عندما نصل إلى نهاية الملف.
لكننا نوصي فقط حساب إذا حصلنا على تغذية خط.
آخر شيء تريد القيام به دائمًا بعد الانتهاء من قراءة كتاباتك ، هل
تريد إغلاق ملفك.
لذلك تريد أن تقول fclose و ثم قم بتمرير مؤشر الملف.
ثم نرغب أيضًا في التعيين مؤشر الملف لدينا يساوي فارغًا.
وبعد ذلك يمكننا طباعة ملف عدد الأسطر التي نديرها.
لذلك يمكننا أن نقول فقط printf العدد الإجمالي من الأسطر r بالمائة d الشرطة المائلة للخلف n ثم يمكننا
فقط وضع عدد الأسطر.
وبعد ذلك فقط عد من الرئيسي ، تمامًا مثل ذلك.
لذا مرة أخرى لتجاوز هذا الرمز ، نحن قم بإنشاء مؤشر الملف الخاص
بنا ، اضبطه على قيمة خالية ، قم بإنشاء شخصية ومحلية متغير لحساب الخطوط.
نفتح ملفنا في السطر 12.
نفتحه في الوضع للقراءة فقط.
نتأكد من أنه ليس فارغًا ، و ثم نقوم بعمل حلقة while للقراءة
في كل حرف حتى نحن في نهاية الملف.
في كل مرة نرى فيها خط تغذية ، نقوم بزيادة هذا العداد.
ثم نغلق ملفنا وضبط المؤشر على فارغ.
ثم نطبع عدد الخطوط.
دعنا نمضي قدمًا ونبني هذا.
ولدينا خط إضافي تغذية ، نريد التأكد.
لذلك أريد أن أتأكد من أننا لا نفعل ذلك ننسى الفاصلة في printf الخاص بنا.
والآن نقوم بتشغيل هذا ، سوف يفعل اقرأ من ملفنا الذي أنشأناه وأخبرنا
بعدد الأسطر التي لدينا.
لذلك تقول العدد الإجمالي من السطور ستة.
إذا فتحنا ملفنا النصي ، يجب علينا ذلك لاحظ أن هناك ستة أسطر ، واحد ، اثنان ، ثلاثة
، أربعة ، خمسة ، ستة.
هناك سبعة في الواقع.
لذلك يتعين علينا زيادة آخر واحد حتى نحصل على eof.
إذن هذا خطأ صغير هنا حيث نقول فقط لأن هذا هو آخر
سطر لدينا قبل أن نصل إلى نهاية الملف.
لذلك كنت تريد في الواقع سيكون هذا واحدًا إضافيًا ثم نقوم بتشغيله وسيعمل
بالفعل.
لذلك في هذه الحالة سنقوم أضف سطرين.
وفي هذه الحالة ، يجب أن يكون لدينا واحد ، اثنان ، ثلاثة ، أربعة ، خمسة
، ستة ، سبعة ، ثمانية ، تسعة أسطر.
نغلق الملف.
نقوم بتشغيله مرة أخرى ، وتجميعه يجب أن نحصل على تسعة.
في هذه الحالة نحصل على 9.
لذا سأحفظ هذا الكود المصدري.
يمكنك تنزيله.
هذه هي اساسيات القراءة بيانات من ملف باستخدام fgetc.
أنت أيضا تريد أن تصبح مألوفة مع fgets.
ثم لتنسيق الإخراج ، يمكنك استخدام ملفات fscanf للقراءة بتنسيق الإخراج.
اتمنى ان يكون ذلك مفيدا. شكرًا لك.