3-5- فایل‌ها و استریم‌های C++

بیایید در مورد فایل‌ها در C++ و نحوه خواندن/ نوشتن داده­ها به فایل بحث کنیم. قبلا سربرگ iostream برای انجام برخی عملیات‌های فایل تشریح شد. به یک کتابخانه استاندارد دیگر C++ به‌نام fstream نیز نیاز داریم. سه نوع داده زیر در داخل fstream موجود هستند.

  • ofstream : مخفف output file stream به معنای جریان خروجی فایل بوده و کاربردش ایجاد فایل و نوشتن داده­ها در آن است.
  • ifstream: مخفف input file stream به معنای جریان ورودی فایل بوده و کاربردش خواندن داده­ها از فایل است.
  • fstream: هر دو قابلیت خواندن و نوشتن را دارد.

فهرست 2-4 نوشتن و خواندن فایلی با استفاده از توابع C++ را نشان می‌دهد.

فهرست 2-4. کد نمونه C++ برای خواندن / نوشتن از یک فایل

#include <iostream>

#include <fstream>

#include <string>

using namespace std;

int main()

{

ofstream out_file;

string data = “Robot_ID=0”;

cout<<“Write data:”<<data<<endl;

out_file.open(“Config.txt”);

out_file <<data<<endl;

out_file.close();

ifstream in_file;

in_file.open(“Config.txt”);

string data_1;

in_file >> data_1;

cout<<“Read data:”<<data_1<<endl;

in_file.close();

return 0;

}

برای خواندن/ نوشتن داده از فایل، باید سربرگ fstream را در کد C++ قرار داد. یک شیء از کلاس ofstream ایجاد کرده و در آن شیء، تابعی به‌نام open() برای باز کردن فایل وجود دارد. پس از باز کردن فایل، می‌توانیم با استفاده از اپراتور >> در آن بنویسیم. پس از نوشتن داده­ها، فایل را با تابع close() می‌بندیم. برای عملیات خواندن، از شیء کلاس ifstream در C++ استفاده کرده و فایل را با استفاده از تابع (“file_name”)open در کلاس ifstream باز می‌کنیم. پس از باز کردن فایل، با استفاده از اپراتور <<  داده­ای از فایل خوانده شده و پس از خواندن، آنرا در ترمینال چاپ می‌کنیم. نام فایلی که قصد داریم روی آن بنویسیم Config.txt و داده پارامتری از ربات است. اگر کد را کامپایل کرده و آن را اجرا کنیم خروجی شکل 2-24 نمایش داده می‌شود.

شکل ‏2‑24: برنامه خواندن/نوشتن فایل

فایل Config.txt در پوشه دسکتاپ ایجاد شده است. برای کسب اطلاعات بیشتر درباره مطالب این بخش، می­توانید به وب[30] مراجعه کنید

[30] www.tutorialspoint.com/cplusplus/cpp_files_streams.htm