مدیریت فایل ها در ++C
به بخش هیجان انگیز فایل در زبان سی پلاس پلاس خوش آمدید! چرا هیجان انگیز؟؟! چون شما با فایل ها کلی کار میتونید انجام بدین حتی Hack clinet جالب شد نه؟!
در فایل ها میتونید به صورت متنی یا باینری اطلاعاتتون را ذخیره سازی کنید. ما میتونیم از فایل ها در این زبان و یا زبان های دیگر به شکل های مختلف استفاده کنیم. به اینصورت که فایل اول به یکی از دوصورت باینری یا متنی ایجاد یا باز میشود و mode باز شدن فایل هم به صورت خواندنی یا نوشتنی یا هردو همزمان انجام میشود.
ایجاد فایل
برای استفاده و یا ایجاد فایل به صورت زیر عمل میکنیم. دقت کتید که کلاس زیر در کتابخانه fstream می باشد:
fstream f("path",mode);
ما یک شئ از کلاس fstream ایجاد کرده و در تابع سازنده کلاس که چندین overload داره, این overload را انتخاب میکنیم که در ورودی اول مسیر فایل ذخیره شده را میدهیم لازم به ذکر است که این کلاس در صورت نبود فایل به صورت خودکار فایل مورد نظر را ایجاد میکند, در ورودی دوم باید حالت باز کردن فایل را تایین کنیم یعنی ios::out به صورت نوشتنی باشد یا ios::in خواندنی مثلا :
fstream f("c:\\mohammad.txt",ios::out);
که من در این کد گفتم یک فایل txt در مسیر داده شده ایجاد کنه و یا اگر موجوده به صورت خواندنی باز کنه.
طریقه نوشتن یا خواندن از فایل
برای نوشتن در فایل به صورت زیر عمل می کنیم:
f << “mohammad”;
و برای خواندن به این صورت:
String str; f >> str;
خوب حالا بریم یک مثال کامل تر بزنیم تا بیشتر برآمون جا بیافته به مثال زیر توجه کنید.
یک رشته حروف را در فایل ذخیره کند و دوباره از فایل بخواند و از آخر به اول در صفحه نمایش دهد.
#include "stdafx.h" #include <iostream> #include <fstream> #include <string> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { fstream f("mohammad.txt",ios::out|ios::app);//ایجاد فایل در مسیر خود برنامه و به هصورت فقط نوشتنی string str; f << "mohammad"; f.close(); fstream f1("mohammad.txt", ios::in);//ایجاد فایل در مسیر خود برنامه و به صورت فقط خواندنی f1 >> str; for (int i = 7; i >=0; i--) { cout << str[i]; } cout << str[0]; f1.close(); system("pause"); return 0; }
و در آخر حتما یادتان باشد وقتی کارتان با فایل به اتمام رسیده فایل را close کنید البته در این نوع برنامه ها که خود برنامه اصلی کلا بسته می شود مشکلی پیش نمی آید ولی در برنامه ای که در background process هستند اشکالاتی بس بزرگ ایجاد می کنند.
موفق باشید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.