آموزش ++c, زبان c++

خواندن فایل در سی پلاس پلاس (File in Cpp)

خواندن فایل در سی پلاس پلاس

در این قسمت تیم کدگیت را با آموزش خواندن فایل در سی پلاس پلاس همراهی کنید.این جلسه با استفاده از کتابخانه‌های سی پلاس پلاس یک فایل متنی را خوانده و آن را در خروجی چاپ می‌کنیم. پیشنهاد می‌شود قبل از مطالعه این جلسه، آموزش‌های زیر را مطالعه کنید:

  1. دستور if
  2. دستور while
  3. شی گرایی

فایل

در فرهنگ رایانه، پرونده یا فایل: به کوچک‌ترین واحد منطقی ذخیره‌سازی بر روی دیسک گفته می‌شود که کاربر یا برنامه‌ساز، قادر به مشاهده و دستکاری آن است.

در یک تعریف کلی، فایل مجموعه‌ای است دارای یک نام (و معمولاً دارای یک ساختار درونی مشخص) از نمونه‌های مختلف یک یا چند نوع رکورد. البته ممکن است فایل اصلاً مجموعه‌ای از رکوردها نباشد، بلکه صرفاً دنباله‌ای بی‌ساختار از نویسه‌ها باشد که از نظر سیستم فایل، معنای خاصی هم ندارند.

تعریف بالا در سایت ویکیپدیا آمده است.

فایلها به دسته های مختلفی تقسیم میشوند:

  1. فایل متنی
  2. فایل صوتی
  3. فایل تصویری
  4. فایل اجرایی

در این آموزش ما به خواندن فایل متنی در سی پلاس پلاس میپردازیم.

پیاده سازی خواندن فایل در سی پلاس پلاس

با استفاده از کلاس ifstream می‌توان یک فایل را در سی پلاس پلاس به راحتی خواند. ifstream یک کلاس Input Stream است و برای نمایش اطلاعات از آن استفاده می‌شود. در کد زیر تابع is_open به ما می‌گوید آیا فایل توسط برنامه دیگری باز می‌باشد یا خیر (در صورت باز بودن خروجی true میشود). کد خواندن فایل به صورت زیر می‌باشد:

int main() {
	string line;
	ifstream myfile("test.txt");
	if (myfile.is_open()) {
		while (getline(myfile, line)) {
			cout << line << '\n';
		}
		myfile.close();
	}

	else
		cout << "Unable to open file";
	return 0;
}

خروجی Getline در صورت ادامه داشتن فایل true است. در کد بالا همانطور که می‌بینید با استفاده از توابع توضیح داده شده یک ifstream را ساختیم و آدرس فایل خود را به آن دادیم (شما آدرس فایل خود را در این قسمت وارد کنید). سپس درون if از باز نبودن فایل توسط برنامه‌ای دیگر اطمینان حاصل کرده‌ایم. در آخر نیز با یک حلقه while سطر به سطر فایل را خوانده و آن را در خروجی چاپ کردیم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *