טיפול בקבצים C ++: כיצד לפתוח, לכתוב, לקרוא, לסגור קבצים ב- C ++

מהי טיפול בקבצים ב- C ++?

קבצים מאחסנים נתונים לצמיתות בהתקן אחסון. בעזרת טיפול בקבצים ניתן לאחסן את הפלט מתוכנית בקובץ. ניתן לבצע פעולות שונות בנתונים בזמן הקובץ.

זרם הוא הפשטה של ​​מכשיר שבו מבצעים פעולות קלט/פלט. אתה יכול לייצג זרם כיעד או כמקור של תווים באורך בלתי מוגבל. זה יקבע לפי השימוש בהם. C ++ מספק לך ספרייה הכוללת שיטות לטיפול בקבצים. הבה נדון בכך.

במדריך c ++ זה תלמד:

ספריית fstream

ספריית fstream מספקת למתכנתים C ++ שלוש שיעורים לעבודה עם קבצים. שיעורים אלה כוללים:

  • של זרם - מחלקה זו מייצגת זרם פלט. הוא משמש ליצירת קבצים וכתיבת מידע לקבצים.
  • ifstream - מחלקה זו מייצגת זרם קלט. הוא משמש לקריאת מידע מקבצי נתונים.
  • fstream - מחלקה זו מייצגת בדרך כלל זרם קבצים. הוא מגיע עם יכולות ofstream/ifstream. המשמעות היא שהוא מסוגל ליצור קבצים, לכתוב לקבצים, לקרוא מקבצי נתונים.

התמונה הבאה מקלה על ההבנה:

ספריית fstream



כדי להשתמש במחלקות הנ'ל של ספריית fstream, עליך לכלול אותה בתוכנית כקובץ כותרת. כמובן שתשתמש בהנחיית #include preprocessor. עליך לכלול גם את קובץ הכותרת של iostream.

כיצד לפתוח קבצים

לפני שתבצע כל פעולה בקובץ, עליך לפתוח אותו תחילה. אם אתה צריך לכתוב לקובץ, פתח אותו באמצעות אובייקטים fstream או ofstream. אם אתה רק צריך לקרוא מהקובץ, פתח אותו באמצעות האובייקט ifstream.

לשלושת האובייקטים, כלומר fstream, ofstream, ifstream, הפונקציה open () מוגדרת בהם. הפונקציה לוקחת תחביר זה: | _+_ |

  • הפרמטר file_name מציין את שם הקובץ לפתיחה.
  • פרמטר המצב הוא אופציונלי. זה יכול לקחת כל אחד מהערכים הבאים:
ערך תיאור
ios :: אפליקציהמצב הוספה. הפלט שנשלח לקובץ מצורף אליו.
ios :: אכלהוא פותח את הקובץ לפלט ואז מעביר את פקד הקריאה והכתיבה לסוף הקובץ.
ios :: בהוא פותח את הקובץ לקריאה.
ios :: החוצההוא פותח את הקובץ לכתיבה.
ios :: תא מטעןאם קיים קובץ, יש לקטוע את רכיבי הקובץ לפני פתיחתו.

אפשר להשתמש בשני מצבים בו זמנית. אתה משלב אותם באמצעות | מפעיל (או).

דוגמה 1:

 open (file_name, mode); 

תְפוּקָה:

להלן צילום מסך של הקוד:

הסבר קוד:

  1. כלול את קובץ הכותרת של iostream בתוכנית כדי להשתמש בפונקציות שלה.
  2. כלול את קובץ הכותרת fstream בתוכנית כדי להשתמש במחלקות שלה.
  3. כלול את מרחב השמות std בקוד שלנו כדי להשתמש במחלקות שלו מבלי לקרוא לו.
  4. התקשר לפונקציה הראשית (). ההיגיון של התוכנית צריך להיכנס לגוף שלה.
  5. צור אובייקט ממעמד fstream ותן לו את השם my_file.
  6. החל את הפונקציה open () באובייקט לעיל כדי ליצור קובץ חדש. מצב החוצה מאפשר לנו לכתוב לתוך הקובץ.
  7. השתמש באפשרות if כדי לבדוק אם יצירת הקובץ נכשלה.
  8. הודעה להדפסה במסוף אם הקובץ לא נוצר.
  9. סוף גוף הצהרת if.
  10. השתמש בהצהרת else כדי לציין מה לעשות אם הקובץ נוצר.
  11. הודעה להדפסה במסוף אם הקובץ נוצר.
  12. החל את הפונקציה close () על האובייקט כדי לסגור את הקובץ.
  13. סוף גוף ההצהרה האחרת.
  14. התוכנית חייבת להחזיר ערך אם היא תושלם בהצלחה.
  15. סוף גוף התפקוד הראשי ().

כיצד לסגור קבצים

ברגע שתוכנית C ++ מסתיימת, היא מתבצעת אוטומטית

  • שוטף את הנחלים
  • משחרר את הזיכרון המוקצה
  • סוגר קבצים שנפתחו.

עם זאת, כמתכנת, עליך ללמוד לסגור קבצים פתוחים לפני סיום התוכנית.

לאובייקטים fstream, ofstream ו- ifstream יש את הפונקציה close () לסגירת קבצים. הפונקציה לוקחת תחביר זה: | _+_ |

כיצד לכתוב לקבצים

אתה יכול לכתוב לקובץ ישירות מתוכנית C ++ שלך. אתה משתמש באופרטור הכנסת זרם (<<) for this. The text to be written to the file should be enclosed within double-quotes.

הבה נדגים זאת.

דוגמה 2:

 #include #include using namespace std; int main() { fstream my_file; my_file.open('my_file', ios::out); if (!my_file) { cout << 'File not created!'; } else { cout << 'File created successfully!'; my_file.close(); } return 0; } 

תְפוּקָה :

להלן צילום מסך של הקוד:

הסבר קוד:

  1. כלול את קובץ הכותרת של iostream בתוכנית כדי להשתמש בפונקציות שלה.
  2. כלול את קובץ הכותרת fstream בתוכנית כדי להשתמש במחלקות שלה.
  3. כלול את מרחב השמות std בתוכנית כדי להשתמש במחלקות שלה מבלי לקרוא לה.
  4. התקשר לפונקציה הראשית (). יש להוסיף את היגיון התוכנית בתוך גוף הפונקציה הזו.
  5. צור מופע של מחלקת fstream ותן לו את השם my_file.
  6. השתמש בפונקציה open () כדי ליצור קובץ חדש בשם my_file.txt. הקובץ ייפתח במצב החוצה לכתיבה לתוכו.
  7. השתמש בהצהרת if כדי לבדוק אם הקובץ לא נפתח.
  8. טקסט להדפסה במסוף אם הקובץ אינו נפתח.
  9. סוף גוף הצהרת ה- if.
  10. השתמש בהצהרת else כדי לציין מה לעשות אם הקובץ נוצר.
  11. טקסט להדפסה במסוף אם הקובץ נוצר.
  12. כתוב טקסט לקובץ שנוצר.
  13. השתמש בפונקציה close () כדי לסגור את הקובץ.
  14. סוף גוף ההצהרה האחרת.
  15. על התוכנית להחזיר ערך עם השלמתו המוצלחת.
  16. סוף הגוף של הפונקציה הראשית ().

כיצד לקרוא מתוך קבצים

אתה יכול לקרוא מידע מקבצים לתוכנית C ++ שלך. זה אפשרי באמצעות אופרטור חילוץ זרמים (>>). אתה משתמש במפעיל באותו אופן שבו אתה משתמש בו כדי לקרוא קלט משתמש מהמקלדת. עם זאת, במקום להשתמש באובייקט cin, אתה משתמש באובייקט ifstream/ fstream.

דוגמה 3:

 void close(); 

תְפוּקָה:

אין קובץ כזה

להלן צילום מסך של הקוד:

הסבר קוד:

  1. כלול את קובץ הכותרת של iostream בתוכנית כדי להשתמש בפונקציות שלה.
  2. כלול את קובץ הכותרת fstream בתוכנית כדי להשתמש במחלקות שלה.
  3. כלול את מרחב השמות std בתוכנית כדי להשתמש במחלקות שלה מבלי לקרוא לה.
  4. התקשר לפונקציה הראשית (). יש להוסיף את היגיון התוכנית בתוך גוף הפונקציה הזו.
  5. צור מופע של מחלקת fstream ותן לו את השם my_file.
  6. השתמש בפונקציה open () כדי ליצור קובץ חדש בשם my_file.txt. הקובץ ייפתח במצב in לקריאה ממנו.
  7. השתמש במשפט if כדי לבדוק אם הקובץ אינו קיים.
  8. טקסט להדפסה במסוף אם הקובץ לא נמצא.
  9. סוף גוף הצהרת ה- if.
  10. השתמש בהצהרת else כדי לציין מה לעשות אם הקובץ נמצא.
  11. צור משתנה char בשם ch.
  12. צור לולאת זמן לחידוש על תוכן הקובץ.
  13. כתוב/אחסן את תוכן הקובץ במשתנה ch.
  14. השתמש בפונקציה if וב- eof () כלומר סוף הקובץ, כדי להבטיח שהמהדר ימשיך לקרוא מהקובץ אם לא יגיע הסוף.
  15. השתמש בהצהרת הפסקה כדי להפסיק לקרוא מהקובץ לאחר סיום ההגעה.
  16. הדפס את התוכן של משתנה ch במסוף.
  17. סוף הזמן הגוף.
  18. סוף גוף ההצהרה האחרת.
  19. התקשר לפונקציית close () כדי לסגור את הקובץ.
  20. על התוכנית להחזיר ערך עם השלמתו המוצלחת.
  21. סוף הגוף של הפונקציה הראשית ().

סיכום:

  • בעזרת טיפול בקבצים ניתן לשלוח את הפלט של תוכנית ולשמור אותה בקובץ.
  • לאחר מכן ניתן להחיל מספר פעולות על הנתונים כשהם בקובץ.
  • זרם הוא הפשטה המייצגת מכשיר שבו מבצעים פעולות קלט/פלט.
  • זרם יכול להיות מיוצג כיעד או כמקור של תווים באורך בלתי מוגבל.
  • ספריית fstream מספקת למתכנתים C ++ שיטות לטיפול בקבצים.
  • כדי להשתמש בספרייה, עליך לכלול אותה בתוכנית שלך באמצעות ההנחיה #include preprocessor.