การจัดการคอนโซลด้วย iostream Classes ใน C++

Managing Console With Iostream Classes C



ในการคำนวณ คอนโซลคือแป้นพิมพ์คอมพิวเตอร์และจอคอมพิวเตอร์ ในอดีต เอาต์พุตจะถูกส่งไปยังหน้าจอมอนิเตอร์โดยตรง ไม่ใช่หน้าต่างที่แสดงบนจอภาพ สำหรับผู้ใช้คอมพิวเตอร์ทั่วไป แอพพลิเคชั่นในปัจจุบันไม่ได้ใช้จอภาพอย่างชัดแจ้ง แอปพลิเคชันเหล่านี้ใช้หน้าต่างที่แสดงบนจอภาพ อย่างไรก็ตาม โปรแกรมเมอร์คอมพิวเตอร์ยังคงต้องใช้หน้าจอมอนิเตอร์ แม้ว่าโปรแกรมเมอร์ยังคงต้องใช้หน้าจอมอนิเตอร์ แต่ระบบปฏิบัติการไม่อนุญาตให้เขาทำอย่างนั้น ระบบปฏิบัติการมีหน้าต่างที่จำลองหน้าจอมอนิเตอร์ ในระบบปฏิบัติการ Windows หน้าต่างนี้เรียกว่าพรอมต์คำสั่ง ในระบบปฏิบัติการ Linux และรุ่นต่างๆ หน้าต่างนี้เรียกว่าเทอร์มินัล

คาดว่าผู้อ่านจะทราบวิธีใช้ Command Prompt หรือ Terminal อยู่แล้ว บทความนี้อธิบายวิธีอ่านอักขระและสตริงจากแป้นพิมพ์ และส่งอักขระและสตริงไปยังเทอร์มินัล (หรือพร้อมท์คำสั่ง) โปรแกรมเมอร์ C++ ทุกคนจำเป็นต้องรู้ในบทความนี้







เพื่อให้มีอินพุตจากแป้นพิมพ์และเอาต์พุตไปยังเทอร์มินัล โปรแกรมต้องเริ่มต้นด้วย:



#รวม
โดยใช้ เนมสเปซชั่วโมง;

เนื้อหาบทความ

วัตถุสตรีมแคบของมาตรฐาน iostream

คลาส iostream, อ็อบเจ็กต์มาตรฐาน, cout, cin, cerr และ clog ได้รับการสร้างอินสแตนซ์และอยู่ในไลบรารีมาตรฐานแล้ว โปรแกรมเมอร์เพียงแค่ใช้มันโดยไม่ต้องสร้างอินสแตนซ์อีก



ค่าใช้จ่าย

คำสั่งต่อไปนี้ในฟังก์ชัน main() ส่งข้อความ นี่คือผลลัพธ์ ไปที่เทอร์มินัล:





ค่าใช้จ่าย << 'นี่คือผลลัพธ์';

cout เป็นอ็อบเจ็กต์ iostream เอาต์พุตในไลบรารีมาตรฐาน ซึ่งสร้างอินสแตนซ์ไว้แล้ว<< is the insertion operator, which sent the bytes, This is output. to the output stream object, cout. When the statement is executed, the text appears on the screen.

ด้วยคำสั่งข้างต้น พรอมต์คำสั่งที่แสดงขึ้นใหม่จะปรากฏขึ้นทางด้านขวาของวลีเอาต์พุต มันไม่ไปบรรทัดถัดไป endl ที่ส่วนท้ายของคำสั่งต่อไปนี้จะบังคับให้สิ่งที่พิมพ์โดยหน้าจอไปยังบรรทัดถัดไป:



ค่าใช้จ่าย << 'นี่คือผลลัพธ์' <<endl;

endl เป็นตัวแปรที่กำหนดไว้ล่วงหน้า เนื้อหาบนหน้าจอสามารถบังคับไปยังบรรทัดถัดไปได้ด้วย:

ค่าใช้จ่าย << 'นี่คือผลลัพธ์' << 'NS';

ด้วยการใช้ ' ' บรรทัดข้อความทั้งหมดอาจไม่ปรากฏบนหน้าจอในทันที endl ล้างข้อความทั้งบรรทัดไปที่หน้าจอ

หมายเหตุ: สตริงที่ส่งไปยัง cout อยู่ในเครื่องหมายคำพูดคู่ ในขณะที่อักขระที่ส่งจะอยู่ในเครื่องหมายคำพูดเดี่ยว ชุดของสตริงและอักขระสามารถส่งได้ในคำสั่งเดียว โดยแต่ละคำสั่งนำหน้าด้วย<< . All that will appear in one line at the output if ‘ ’ is not in the series.

จิน

cin เป็นอ็อบเจ็กต์อินพุต iostream มาตรฐาน สร้างอินสแตนซ์แล้ว และพร้อมใช้งานในไลบรารีมาตรฐาน พิจารณาส่วนรหัสต่อไปนี้ในฟังก์ชัน main():

chartxt[ห้าสิบ];
ค่าใช้จ่าย << 'ป้อนคำและกด Enter:' txt;
ค่าใช้จ่าย <<txt<<endl;

คำสั่งแรกประกาศอาร์เรย์ว่าง 50 อักขระ คำสั่งที่สองแนะนำให้ผู้ใช้พิมพ์คำในบรรทัดหน้าจอถัดไปแล้วกดปุ่ม Enter สังเกตการใช้ 'endl' ที่บังคับให้ผู้ใช้ป้อนข้อความในบรรทัดถัดไปของหน้าจอ ขณะที่ผู้ใช้พิมพ์ข้อความ ข้อความที่ป้อนจะถูกสะท้อนไปยังหน้าจอขณะที่เข้าสู่วัตถุ cin หลังจากกด Enter คำสั่งที่สามในส่วนโค้ดจะถูกดำเนินการ คำสั่งที่สามนี้ส่งข้อความที่ป้อนไปยังตัวแปร txt ข้อความที่ป้อนไม่ควรยาวเกิน 50 อักขระในกรณีนี้ สังเกตการใช้ตัวดำเนินการสกัด, >> คำสั่งสุดท้ายจะแสดงข้อความที่ป้อนบนหน้าจอ

cin สามารถใช้มากกว่าหนึ่งคำจากแป้นพิมพ์ โดยคั่นด้วยช่องว่าง คำเหล่านี้จะต้องแยกออกเป็นตัวแปรต่างๆ ส่วนรหัสต่อไปนี้แสดงให้เห็นสิ่งนี้:

chartxt[ยี่สิบ];
intมัน;
ลอยฟุต;
ค่าใช้จ่าย << 'ป้อน 3 ค่าแล้วกด Enter:' txt>>มัน>>ฟุต;
ค่าใช้จ่าย <<txt<< '' <<มัน<< '' <<ฟุต<<endl;

สังเกตคำแถลง:

จิน >>txt>>มัน>>ฟุต;

คำแรกจะถูกแยกเป็น txt คำถัดไป และคำสุดท้ายเป็น ft หากอินพุตเป็น

หนึ่ง25 3.6

จากนั้นผลลัพธ์โดยส่วนรหัสจะเป็น

หนึ่ง25 3.6

cerr

โปรแกรมต่อไปนี้มีข้อผิดพลาด:

#รวม
โดยใช้ เนมสเปซชั่วโมง;

intหลัก()
{
ใน myInt;

กลับ 0;
}

คำสั่งแรกใน main() ไม่ถูกต้อง หากชื่อไฟล์ที่มีรหัสคือ temp.cc และไฟล์เรียกทำงานที่เป็นผลลัพธ์เรียกว่า temp คำสั่ง g++ ต่อไปนี้จะส่งข้อความแสดงข้อผิดพลาดของคอมไพเลอร์ไปยังไฟล์ error.txt:

NS++ -o อุณหภูมิ อุณหภูมิกระแสตรง 2>ข้อผิดพลาด.txt

หากไม่มีไฟล์ error.txt อยู่ ไฟล์นั้นจะถูกสร้างขึ้น สังเกตส่วนที่ 2>error.txt ของคำสั่ง g++

หน้าจอเป็นปลายทางเอาต์พุตมาตรฐาน และยังเป็นปลายทางข้อผิดพลาดมาตรฐานอีกด้วย หากละเว้น 2>error.txt จากคำสั่ง g++ ข้อความแสดงข้อผิดพลาดของคอมไพเลอร์จะถูกส่งไปยังปลายทางข้อผิดพลาดมาตรฐาน ซึ่งยังคงเป็นหน้าจอ (จอภาพ)

ออบเจ็กต์สตรีมที่แสดงถึงปลายทางเอาต์พุตมาตรฐานคือ cout ออบเจ็กต์สตรีมที่แสดงปลายทางข้อผิดพลาดมาตรฐานคือ cerr ข้อผิดพลาดรันไทม์ของโปรแกรมสามารถส่งไปที่หน้าจอได้ดังนี้:

cerr << 'ข้อความแสดงข้อผิดพลาด!' << 'NS';

อุดตัน

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

chartxt[ห้าสิบ];
ค่าใช้จ่าย<<'ป้อนข้อความและกด Enter:'txt;
อุดตัน<<txt<<endl;

หากข้อความป้อนเข้าคือ 'input_text' การอุดตันจะแสดง 'input_text' อีกครั้งที่หน้าจอ

ในทางปฏิบัติ การบันทึกมักจะถูกเปลี่ยนเส้นทางไปยังไฟล์ โปรแกรมต่อไปนี้แสดงให้เห็นสิ่งนี้:

#รวม
โดยใช้ เนมสเปซชั่วโมง;

intหลัก()
{
ฟรีเปิด( 'log.txt','ใน',stdout);

ค่าใช้จ่าย << 'input_text' <<endl;
}

สังเกตการใช้ฟังก์ชัน freopen() และอาร์กิวเมนต์ อาร์กิวเมนต์แรกคือชื่อของล็อกไฟล์ หากไม่มีไฟล์อยู่ ไฟล์นั้นจะถูกสร้างขึ้น อาร์กิวเมนต์ที่สองคือ 'w' สำหรับ 'write' อาร์กิวเมนต์ที่สามคือ stdout สำหรับเอาต์พุตมาตรฐาน คำสั่งที่สองในฟังก์ชัน main() ใช้ cout เพื่อส่งข้อความบันทึกไปยังไฟล์ หมายเหตุ: รหัสอินพุตจริงไม่ปรากฏในโปรแกรมนี้

การรับอักขระและสตริงจากคีย์บอร์ด

ขณะที่ผู้ใช้กำลังพิมพ์อินพุต อักขระจะถูกส่งไปยังบัฟเฟอร์สตรีมอินพุตและแสดงบนหน้าจอ เมื่อผู้ใช้กดปุ่ม Enter อักขระทั้งหมดจะอยู่ในบัฟเฟอร์ นอกจากนี้ เคอร์เซอร์จะไปที่จุดเริ่มต้นของบรรทัดถัดไปด้านล่างที่หน้าจอ จากนั้นโปรแกรมจะดำเนินการต่อไปยังคำสั่งโปรแกรมถัดไป หลังจากอ่านคำสั่งการอ่านอินพุต

วัตถุ cin มีเมธอด ซึ่งส่วนนี้เกี่ยวข้องกับ

การอ่านตัวอักษรตัวแรก

รับ (char_type& c):
ส่วนรหัสต่อไปนี้แสดงวิธีการอ่านอักขระตัวแรกจากบัฟเฟอร์สตรีมอินพุต:

charch;
ค่าใช้จ่าย << 'ใส่ข้อความ:' <<endl;
จิน.รับ(ch);
ค่าใช้จ่าย <<ch<<endl;

คำสั่งแรกประกาศอักขระโดยไม่มีการกำหนด คำสั่งที่สองบอกให้ผู้ใช้ป้อนอักขระ เมื่อผู้ใช้พิมพ์อักขระและกดปุ่ม Enter คำสั่งที่สามจะคัดลอกอักขระจากบัฟเฟอร์สตรีมอินพุตไปยังตัวแปร ch

แม้ว่าผู้ใช้จะพิมพ์อักขระมากกว่าหนึ่งตัว อักขระตัวแรกจะถูกยึดตามส่วนของรหัส

รับ():
get() โดยไม่มีอาร์กิวเมนต์ ส่งคืนโค้ด ASCII ทศนิยม พิจารณาส่วนรหัสต่อไปนี้:

ค่าใช้จ่าย << 'ใส่ข้อความ:' <<endl;
ค่าใช้จ่าย << จิน.รับ() <<endl;

หากอินพุตเป็น 'asdfg' ระบบจะส่งคืน 97 ซึ่งเป็นรหัส ASCII ทศนิยมสำหรับ 'a'

ได้รับ(char_type* s, streamsize n)

หลังจากที่ผู้ใช้ป้อนวลีและกดปุ่ม Enter จะสามารถแยกอักขระจำนวนหนึ่งที่เริ่มต้นจากตัวแรกออกจากบัฟเฟอร์สตรีม cin สามารถใช้รหัสต่อไปนี้:

charNS[10];
ค่าใช้จ่าย << 'ใส่ข้อความ:' <<endl;
จิน.รับ(สตริ10);
ค่าใช้จ่าย <<NS<<endl;

หากอินพุตเป็น 'คนที่ยอดเยี่ยม' ผลลัพธ์จะเป็น 'great peo' ที่มีอักขระ 9 ตัว ไม่ใช่ 10 อักขระ อักขระ NUL ของสตริง () ใช้ตำแหน่งที่สิบในการรับอาร์กิวเมนต์ ดังนั้น ในการมีอักขระ str 9 ตัว ขนาดหน่วยเก็บข้อมูลต้องมีอย่างน้อย 10 และอาร์กิวเมนต์ get() ต้องเป็น 11 หากต้องการป้อนบรรทัดอินพุตทั้งหมด หมายเลขหน่วยเก็บสตริงต้องเป็นตัวเลขเป็นอย่างน้อย ของอักขระที่พิมพ์ บวก 1 ดังนั้น หากพิมพ์อักขระ 12 ตัวสำหรับทั้งบรรทัด ตัวเลขควรเป็น 13 สำหรับขนาดหน่วยเก็บข้อมูลสตริง (str) และ 13 สำหรับอาร์กิวเมนต์ get() โปรดทราบว่าหนึ่งช่องว่างนับเป็นหนึ่งอักขระ

รับ (char_type* s, streamsize n, char_type delim)
เป็นไปได้ที่จะแยกสตริงย่อย คั่นด้วยด้านขวา โดยเกิดขึ้นครั้งแรกของอักขระบางตัว หรือโดยขนาดสตรีมของสตริงย่อย แล้วแต่ว่าจะถึงอย่างใดก่อน หากข้อความที่ป้อนลงในโค้ดต่อไปนี้เป็นคนที่ยอดเยี่ยม จะมีการดึงข้อความที่ยอดเยี่ยมออกมา:

charNS[30];
ค่าใช้จ่าย << 'ใส่ข้อความ:' <<endl;
จิน.รับ(สตริ6,'หรือ');
ค่าใช้จ่าย <<NS<<endl;

ตำแหน่งที่หกจากจุดเริ่มต้นคืออักขระช่องว่าง และมันคั่นเฉพาะสตริงย่อยที่แยกออกมาเท่านั้น ตำแหน่งที่หกมาก่อนอักขระตัวเดียว 'o' โปรดทราบว่าขนาดที่จัดเก็บสำหรับ str สามารถสูงได้มากที่สุด

หากข้อความที่ป้อนลงในโค้ดต่อไปนี้เป็นคนที่ดี gr จะถูกแยกออก:

charNS[30];
ค่าใช้จ่าย << 'ใส่ข้อความ:' <<endl;
จิน.รับ(สตริ10,'และ');
ค่าใช้จ่าย <<NS<<endl;

การเกิดขึ้นครั้งแรกของ 'e' มาก่อนตำแหน่งที่สิบ

รับตัวละครทั้งหมดในไลน์

หลังจากกดแป้น Enter อักขระทั้งหมดที่พิมพ์ลงในบรรทัด สามารถรับได้ดังแสดงในโค้ดต่อไปนี้:

ค่าใช้จ่าย << 'ใส่ข้อความ:' <<endl;
ในขณะที่ (1) {
charch= (char)จิน.รับ();
ค่าใช้จ่าย <<ch;
ถ้า (ch== 'NS')
หยุดพัก;
}

การหล่อด้วย (ถ่าน) จะแปลงตัวเลขทศนิยมแต่ละตำแหน่งเป็นอักขระ ASCII ที่สอดคล้องกัน

แอบมอง()

ฟังก์ชันสมาชิก get() ไม่เพียงแต่อ่านอักขระถัดไปเท่านั้น พวกเขาลบออกจากบัฟเฟอร์สตรีม อย่างไรก็ตาม ฟังก์ชัน peek() ของสมาชิก simple อ่านอักขระถัดไป (เริ่มจากตัวแรก) โดยไม่ต้องลบออกจากบัฟเฟอร์ ในโค้ดต่อไปนี้ อักขระแต่ละตัวจะถูกอ่านก่อนด้วยฟังก์ชัน peek() ก่อนที่จะถูกลบโดยฟังก์ชัน get() ทั้งหมดที่เกิดขึ้นหลังจากที่ผู้ใช้กดปุ่ม Enter:

ค่าใช้จ่าย << 'ใส่ข้อความ:' <<endl;
ในขณะที่ (1) {
charch= (char)จิน.แอบดู();
ค่าใช้จ่าย <<ch;
จิน.รับ();
ถ้า (ch== 'NS')
หยุดพัก;
}

หากอักขระตัวถัดไปไม่ถูกลบโดย get() peek() จะอ่านเฉพาะอักขระตัวแรก และการวนซ้ำจะวนซ้ำไปเรื่อย ๆ

การแสดงและการลบอักขระก่อนกด Enter

โปรดสังเกตว่าด้วยวัตถุ cin ต้องกดปุ่ม Enter ก่อนจึงจะมีผล เป็นไปได้ที่อักขระจะแสดงในขณะที่พิมพ์และลบก่อนกดปุ่ม Enter อย่างไรก็ตาม นั่นหมายถึงการเชื่อมต่อกับระบบปฏิบัติการ ระบบปฏิบัติการต่างกัน นี่หมายถึงการเข้ารหัสที่แตกต่างกันสำหรับระบบปฏิบัติการที่แตกต่างกัน ดังนั้นหัวข้อนี้จึงสมควรได้รับบทช่วยสอนที่แตกต่างไปจากเดิมอย่างสิ้นเชิง – ดูในภายหลัง

การส่งอักขระและสตริงไปยังจอภาพ

ออบเจ็กต์ cout เป็นอ็อบเจ็กต์สตรีมเอาต์พุต ซึ่งสร้างอินสแตนซ์แล้วและมีอยู่ในไลบรารีมาตรฐาน C++ cout เป็นวัตถุหลักที่ใช้ในการส่งอักขระและสตริงไปยังจอภาพ สิ่งนี้ทำได้ด้วยตัวดำเนินการแทรก<< . With the cin object, the text is obtained line-by-line. With the cout object, the text is added onto the same line until ‘ ’ or endl is encountered.

นิพจน์ที่ส่งผลให้เกิดสเกลาร์อาจเป็นอาร์กิวเมนต์สำหรับตัวดำเนินการแทรก ตัวดำเนินการแปลงสเกลาร์เป็นข้อความและวางข้อความในสตรีมออบเจ็กต์ cout เมื่อข้อความถูกส่งไปยังวัตถุ cout โดยปกติจะปรากฏบนหน้าจอ (จอภาพ) อย่างไรก็ตาม ในบางครั้งอาจไม่ปรากฏขึ้นทันที ในการบังคับข้อความลงบนหน้าจอ ให้ใส่ค่าพิเศษ endl หลังจากที่ใส่ข้อความลงไป ซึ่งจะทำให้ข้อความถูกล้างไปยังหน้าจอ และจะมีการขึ้นบรรทัดใหม่ หมายเหตุ: ' n' เพียงเพิ่มบรรทัดใหม่แต่ไม่ล้างข้อความไปที่หน้าจอ

โปรแกรมต่อไปนี้แสดงวิธีการพิมพ์ค่า int, float และข้อความธรรมดาลงบนหน้าจอ:

#รวม
โดยใช้ เนมสเปซชั่วโมง;

intหลัก()
{
intมัน= 5;
ลอยฟุต= 63.5;
ค่าใช้จ่าย << 'NS ' <<มัน<< ' รายการราคา $' <<ฟุต<< ' เรา.' <<endl;

กลับ 0;
}

ผลลัพธ์คือ:

NS5รายการราคา $63.5เรา.

โปรแกรมต่อไปนี้แสดงวิธีพิมพ์สตริงของอ็อบเจ็กต์ที่สร้างอินสแตนซ์จากคลาส:

#รวม
โดยใช้ เนมสเปซชั่วโมง;

โครงสร้างเซนต์{
charNS[สิบเอ็ด] = 'บางคำ';
}วัตถุ;

intหลัก()
{
ค่าใช้จ่าย <<วัตถุNS << 'NS';

กลับ 0;
}

ผลลัพธ์คือ 'บางคำ'

อาร์กิวเมนต์สำหรับโปรแกรม C++

การทำงานของโปรแกรมเริ่มต้นจากฟังก์ชัน main() ฟังก์ชัน main() จริง ๆ แล้วมีพารามิเตอร์ทางเลือกสองตัว ไวยากรณ์ของฟังก์ชัน main() พร้อมพารามิเตอร์ทางเลือกคือ:

intหลัก(intอาร์จีซี,char *argv[argc])
{

กลับ 0;
}

สมมติว่า ชื่อของไฟล์ C++ ที่สามารถเรียกทำงานได้คือ temp สมมติว่าอาร์กิวเมนต์ที่โปรแกรมต้องการจากสภาพแวดล้อม (ระบบปฏิบัติการ) ที่พิมพ์โดยผู้ใช้คือ

บทความ3ปากกาหนังสือ'บ้านหลังใหญ่'

มีข้อโต้แย้ง 5 ข้อ ได้แก่ บทความ 3 หนังสือ ปากกา และบ้านหลังใหญ่

แต่ละรายการเป็นข้อความ อาร์กิวเมนต์ที่เป็นตัวเลขสำหรับโปรแกรมคือข้อความ กล่าวอีกนัยหนึ่ง อาร์กิวเมนต์แต่ละรายการคือสตริง บ้านหลังใหญ่อยู่ในเครื่องหมายคำพูดเพราะเป็นวลี คำสั่งเทอร์มินัลเพื่อเรียกใช้โปรแกรมนี้จะเป็น:

./บทความชั่วคราว3ปากกาหนังสือ'บ้านหลังใหญ่'

สมมติว่าไฟล์ temp อยู่ในโฮมไดเร็กทอรี โปรดทราบว่าการเว้นวรรคและไม่ใช่เครื่องหมายจุลภาคแยกอาร์กิวเมนต์

ตอนนี้ ในไวยากรณ์ของฟังก์ชัน main() argc คือจำนวนอาร์กิวเมนต์สำหรับโปรแกรม บวก 1 ในกรณีนี้ มี 5 อาร์กิวเมนต์สำหรับโปรแกรม ดังนั้น argc คือ 6 ในไวยากรณ์ argv[argc] คืออาร์เรย์ของพอยน์เตอร์ไปยังสตริง ค่าแรกสำหรับอาร์เรย์นี้ที่ argv[0] ถูกกำหนดโดยคอมไพเลอร์ เป็นตัวชี้ไปยังชื่อไฟล์โปรแกรม ค่าที่เหลือเป็นตัวชี้ไปยังอาร์กิวเมนต์ของโปรแกรมตามลำดับของผู้ใช้ที่พิมพ์ ขนาดของอาร์เรย์นี้คือ argc ในกรณีนี้ขนาดคือ 1 + 5 = 6

สมมติว่าตอนคอมไพล์ โปรแกรมต่อไปนี้มีชื่อว่า temp:

#รวม
โดยใช้ เนมสเปซชั่วโมง;

intหลัก(intอาร์จีซี,char**argv)
{

ค่าใช้จ่าย <<argv[0] << ',' <<argv[1] << ',' <<argv[2] << ',' <<argv[3] << ',' <<argv[4] << ',' <<argv[5] <<endl;

กลับ 0;
}

โปรดทราบว่าอาร์เรย์ 'char *argv[argc]' ได้รับการประกาศเป็น 'char** argv'

หากโปรแกรมนี้รันด้วยคำสั่งเทอร์มินัล

./บทความชั่วคราว3ปากกาหนังสือ'บ้านหลังใหญ่'

จากนั้นผลลัพธ์จะเป็น:

./อุณหภูมิ บทความ3, หนังสือ, ปากกา, บ้านหลังใหญ่

โปรดทราบว่าเส้นทางไดเร็กทอรีถูกรวมเข้ากับชื่อของไฟล์เรียกทำงาน

นอกจากนี้ โปรดทราบว่าในการรันโปรแกรม (การเรียกโปรแกรม) ค่า argc จะไม่ถูกส่งออกไป

บทสรุป

คลาส iostream มีอ็อบเจ็กต์ที่สำคัญสี่อย่างคือ cout, cin, cerr และ clog cin เป็นวัตถุอินพุต ส่วนที่เหลือเป็นวัตถุเอาต์พุต ขณะที่โปรแกรมกำลังทำงาน ข้อมูลเข้าของโปรแกรมจะแตกต่างจากเวลาที่โปรแกรมจะเริ่มทำงาน เมื่อโปรแกรมเริ่มทำงาน อินพุตของโปรแกรมจะถูกรวมเข้ากับคำสั่งเพื่อรันโปรแกรม โดยคั่นด้วยช่องว่าง