ورودی/خروجی پایه در C++

کتابخانه های  استاندارد C++ طیف گسترده ای از قابلیتهای  ورودی/ خروجی را ارائه می دهند.  در این قسمت از آموزش برنامه نویسی C++  قصد داریم به صورت بسیار ساده عملیات‌های ضروری تر ورودی/ خروجی را در برنامه نویسی C++ توضیح دهیم.
ورودی/ خروجی در زبان برنامه نویسی C++ در جریانها که مجموعه ای از بایت ها هستند رخ می دهد. اگر بیت از دستگاهی مانند یک صفحه کلید، یک دیسک، اتصال شبکه و یا موارد دیگر به حافظه اصلی  جریان یابد به این عمل ورودی گفته می‌شود و اگر بایت از حافظه اصلی به دستگاهی مانند صفحه نمایش، چاپگر، دیسک و یا یک اتصال شبکه جریان یابد به آن عمل خروجی گفته می شود.

فایل های هدر کتابخانه I/O

فایلهای هدر زیر در زبان برنامه نویسی C++ مهم هستند.

ردیف فایل های هدر، توابع و توضیحات
1

<iostream>

این هدر برای تعریف شی های cin،  cout، cerr و clog مطابق با جریان ورودی /خروجی استاندارد استفاده می شود.    

2

<iomanip>

این فایل هدر برای فرمت بندی ورودی/خروجی سرویس های مفیدی را ارائه می دهد.( مانند setw و setprecision)    

3

<fstream>

این فایل هدر برای مدیریت فایل های ایجاد شده کاربر سرویس هایی را ارائه می دهد.    

 

جریان خروجی استاندارد (cout)

شی از پیش تعریف شده cout نمونه ای از کلاس ostream است. شی cout به دستگاه خروجی استانداردی که معمولا صفحه نمایش است وصل شده است و برای چاپ مقادیر روی صفحه نمایش مورد استفاده قرار می گیرد. 
 

#include <iostream>
 
using namespace std;
 
int main() {
   char str[] = "Hello C++";
 
   cout << "Value of str is : " << str << endl;
}

پس از کامپایل و اجرای کد بالا نتیجه زیر نمایش داده می شود.
 

Value of str is : Hello C++

در زمان استفاده از این دستور، کامپایلر C++ نوع داده متغیر برای خروجی را تعیین می کند و اپراتور ورودی مناسب برای نمایش مقدار را انتخاب می کند.
عملگر >> دوباره برای موارد داده خروجی از نوع integer،float, double, strings و pointer بارگذاری می شود.
درج عملگر >> می تواند بیشتر از یک بار در یک دستور همانطور که نشان داده شده است، استفاده شود و endl برای اضافه کردن یک خط جدید در انتهای خط مورد استفاده قرار می گیرد.

جریان ورودی استاندارد (cin)

شی از پیش تعریف شده cin یک نمونه از کلاس istream است. شی cin برای اتصال به دستگاه ورودی مورد استفاده قرار می‌گیرد که معمولاً این دستگاه کیبورد است. cin برای استخراج جریان و چاپ مورد استفاده قرار می‌گیرد.
 

#include <iostream>
 
using namespace std;
 
int main() {
   char name[50];
 
   cout << "Please enter your name: ";
   cin >> name;
   cout << "Your name is: " << name << endl;
 
}

پس از کامپایل و اجرای کد بالا از شما می خواهد تا نامی را وارد کنید. مقدار مورد نظر را وارد کرده و سپس دکمه enter را فشار دهید تا نتیجه زیر نمایش داده شود :
 

Please enter your name: cplusplus
Your name is: cplusplus

کامپایلر C++ همچنین نوع داده مقدار وارد شده را تعیین می کند و عملگر استخراج جریان مناسب را برای استخراج ارزش و ذخیره آن در متغیرهای داده شده انتخاب می کند.
عملگر << ممکن است بیش از یک بار در  دستور استفاده شود به مثال زیر دقت کنید:

cin >> name >> age;

این دستور معادل دو عبارت زیر است:

cin >> name;
cin >> age;

جریان خطای استاندارد (cerr)

شی  cerr نمونه ای از پیش تعریف شده از کلاس ostream است .شی cerr به دستگاه خطای استاندارد که همان صفحه نمایش است وصل میشود. دستور cerr بافر نشده است و باعث می‌شود تا هر جریانی فورا در خروجی نمایش داده بشود .مثال زیر نحوه استفاده از این دستور را نشان می دهد:
 

#include <iostream>
 
using namespace std;
 
int main() {
   char str[] = "Unable to read....";
 
   cerr << "Error message : " << str << endl;
}

 پس ازکامپایل و اجرای کد بالا نتیجه زیر نمایش داده می شود:

Error message : Unable to read....

جریان ورودی استاندارد (clog)

شی از پیش تعریف شده clog یک نمونه از کلاس ostream است. این شی برای اتصال به دستگاه خطای استاندارد مورد استفاده قرار می گیرد که در واقع همان صفحه نمایشگر است. اما شی clog بافر شده است. این بدان معنی است که هر ورودی در clog باعث می شود تا خروجی آن تا زمانی که بافر پر یا flush نشده باشد در بافر ذخیره شود.
Clog همچنین برای اتصال به  عملگر ورودی جریان نیز مورد استفاده قرار می گیرد. مثال زیر نحوه استفاده از آن را نشان داده است.

 

#include <iostream>
 
using namespace std;
 
int main() {
   char str[] = "Unable to read....";
 
   clog << "Error message : " << str << endl;
}

پس از کامپایل و اجرای کد بالا نتیجه زیر نمایش داده می شود:

Error message : Unable to read....

با استفاده از این مثال های محدود نمی توانید تفاوت بین cerr، cout و clog را متوجه شوید. اما در هنگام  برنامه نویسی تفاوت آنها بسیار واضح خواهد. بهترین کار این است که برای نمایش پیام های خطا  از جریان cerr  و برای نمایش سایر پیامهای  ورودی از clog استفاده کنید.

برای درج نظر و یا طرح سوالات خود لطفا در سایت ثبت نام کنید و یا وارد سایت شوید

نظرات کاربران

برای این مطلب تاکنون نظری ارسال نشده است. شما اولین نفر باشید