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

กระแส cin, cout และ cerr ใน C ++ คืออะไร


ซิน , cout, cerr, และ อุดตัน คือสตรีมที่จัดการอินพุตมาตรฐานและเอาต์พุตมาตรฐาน สิ่งเหล่านี้คือวัตถุสตรีมที่กำหนดไว้ในไฟล์ส่วนหัว iostream

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

มาตรฐาน:: ศาล เป็นอ็อบเจ็กต์ของคลาส ostream ที่แสดงถึงกระแสเอาต์พุตมาตรฐานที่เน้นไปที่อักขระที่แคบ (ของชนิดถ่าน) มันสอดคล้องกับ stdout ของสตรีม C สตรีมเอาต์พุตมาตรฐานเป็นปลายทางเริ่มต้นของอักขระที่กำหนดโดยสภาพแวดล้อม ปลายทางนี้อาจใช้ร่วมกับออบเจ็กต์มาตรฐานอื่นๆ (เช่น cerr หรือ clog)

วัตถุ cerr ควบคุมเอาต์พุตไปยังสตรีมบัฟเฟอร์ที่เกี่ยวข้องกับวัตถุ stderr ประกาศใน ใช้สำหรับเอาต์พุตข้อผิดพลาดไปยังสตรีมเอาต์พุตมาตรฐาน

หมายเหตุ - ออบเจ็กต์ทั้งหมดที่ประกาศในส่วนหัวนี้แชร์คุณสมบัติเฉพาะ - คุณสามารถสันนิษฐานได้ว่าอ็อบเจ็กต์ถูกสร้างขึ้นก่อนอ็อบเจ็กต์คงที่ที่คุณกำหนด ในหน่วยการแปลที่มี ในทำนองเดียวกัน คุณสามารถสรุปได้ว่าอ็อบเจกต์เหล่านี้จะไม่ถูกทำลายก่อนตัวทำลายล้างสำหรับอ็อบเจกต์สแตติกใดๆ ที่คุณกำหนด (อย่างไรก็ตาม สตรีมเอาต์พุตจะถูกล้างระหว่างการยุติโปรแกรม) ดังนั้น คุณจึงสามารถอ่านหรือเขียนไปยังสตรีมมาตรฐานได้อย่างปลอดภัยก่อนเริ่มโปรแกรมและหลังสิ้นสุดโปรแกรม

คุณสามารถใช้วัตถุสตรีมเหล่านี้ได้ดังนี้ -

ตัวอย่าง

#include<iostream>
int main() {
   int my_int;
   std::cin >> my_int;
   std::cout << my_int;
   std::cerr << "An error message";
   return 0;
}

จากนั้นบันทึกโปรแกรมนี้ลงในไฟล์ hello.cpp สุดท้ายให้ไปที่ตำแหน่งที่บันทึกไว้ของไฟล์นี้ใน terminal/cmd และคอมไพล์โดยใช้ −

$ g++ hello.cpp

เรียกใช้โดยใช้ -

$ ./a.out

ผลลัพธ์

ถ้าคุณป้อน 15 สิ่งนี้จะให้ผลลัพธ์ -

15 An error message