Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

อินพุต/เอาต์พุตพื้นฐานใน C++


ไลบรารีมาตรฐาน C++ มีชุดความสามารถอินพุต/เอาต์พุตมากมาย ซึ่งเราจะเห็นในบทต่อๆ ไป บทนี้จะกล่าวถึงการดำเนินการ I/O พื้นฐานและทั่วไปส่วนใหญ่ที่จำเป็นสำหรับการเขียนโปรแกรม C++

C++ I/O เกิดขึ้นในสตรีม ซึ่งเป็นลำดับของไบต์ หากไบต์ไหลจากอุปกรณ์ เช่น แป้นพิมพ์ ดิสก์ไดรฟ์ หรือการเชื่อมต่อเครือข่าย ฯลฯ ไปยังหน่วยความจำหลัก จะเรียกว่าการดำเนินการอินพุต และถ้าไบต์ไหลจากหน่วยความจำหลักไปยังอุปกรณ์ เช่น หน้าจอแสดงผล เครื่องพิมพ์ ดิสก์ไดรฟ์ หรือการเชื่อมต่อเครือข่าย ฯลฯ สิ่งนี้เรียกว่าการทำงานของเอาต์พุต .

สตรีมเอาท์พุตมาตรฐาน (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++ ยังกำหนดชนิดข้อมูลของตัวแปรที่จะส่งออก และเลือกตัวดำเนินการแทรกสตรีมที่เหมาะสมเพื่อแสดงค่า ตัวดำเนินการ <<ถูกโอเวอร์โหลดเพื่อส่งออกรายการข้อมูลของค่าประเภทจำนวนเต็ม, ทุ่น, คู่, สตริง และค่าตัวชี้

ตัวดำเนินการแทรก <<อาจใช้มากกว่าหนึ่งครั้งในคำสั่งเดียวดังที่แสดงด้านบนและ 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;
}

ผลลัพธ์

Please enter your name: cplusplus
Your name is: cplusplus

คอมไพเลอร์ C++ ยังกำหนดประเภทข้อมูลของค่าที่ป้อนและเลือกตัวดำเนินการการแยกสตรีมที่เหมาะสมเพื่อแยกค่าและเก็บไว้ในตัวแปรที่กำหนด

ตัวดำเนินการการแยกสตรีม>> อาจใช้มากกว่าหนึ่งครั้งในคำสั่งเดียว หากต้องการขอข้อมูลมากกว่าหนึ่งรายการ คุณสามารถใช้สิ่งต่อไปนี้ -

cin >> name >> age;

ซึ่งจะเทียบเท่ากับสองข้อความต่อไปนี้ -

cin >> name;
cin >> age;