సి ++ ప్రాథమిక ఇన్‌పుట్/అవుట్‌పుట్: కౌట్, సిన్, సెర్ ఉదాహరణ

C ++ లో స్ట్రీమ్‌లు అంటే ఏమిటి?

C ++ వినియోగదారులకు ఇన్‌పుట్/అవుట్‌పుట్ టాస్క్‌లు చేయడానికి ఉపయోగించే అనేక లైబ్రరీలను అందిస్తుంది. ఈ పనులు బైట్‌ సీక్వెన్స్‌ల రూపంలో జరుగుతాయి, వీటిని ప్రముఖంగా స్ట్రీమ్‌లు అంటారు.

ప్రవాహాలు రెండుగా విభజించబడ్డాయి:

ప్రవాహాల రకాలు

  • ఇన్‌పుట్ స్ట్రీమ్: ఇది కీబోర్డ్ వంటి పరికరం నుండి ప్రధాన మెమరీకి బైట్‌లు ప్రవహించే ఒక రకమైన స్ట్రీమ్.
  • అవుట్‌పుట్ స్ట్రీమ్: ఇది ఒక రకమైన స్ట్రీమ్, ఇక్కడ బైట్‌లు వ్యతిరేక దిశలో ప్రవహిస్తాయి, అనగా ప్రధాన మెమరీ నుండి డిస్‌ప్లే స్క్రీన్ వంటి పరికరం వరకు.

ఈ C ++ ట్యుటోరియల్‌లో మీరు నేర్చుకుంటారు:

ప్రవాహాలు ఎలా పని చేస్తాయి?

C ++ స్ట్రీమ్‌లు క్రింది విధంగా పనిచేస్తాయి:

  1. ముందుగా, ఒక స్ట్రీమ్ సరైన రకంతో ప్రారంభించబడుతుంది.
  2. తరువాత, గెట్/పుట్ పాయింటర్‌లను ఉపయోగించి I/O ఎక్కడ జరుగుతుందో మీరు పేర్కొనాలి.
  3. స్ట్రీమ్‌లో సరైన స్థానానికి చేరుకున్న తర్వాత, మీరు >> మరియు ఉపయోగించి ఇన్‌పుట్ మరియు అవుట్‌పుట్ పనులను చేయవచ్చు<< operators, respectively.

ఫంక్షన్ టేబుల్

కిందివి స్ట్రీమ్.హెచ్ హెడర్ ఫైల్‌లో అందించబడిన విధులు:

తరగతి విధులు
ఫైల్‌బఫ్ఇది చదవడానికి/వ్రాయడానికి ఫైల్ బఫర్‌లను సెట్ చేస్తుంది. ఇందులో క్లోజ్ () మరియు ఓపెన్ () ఫంక్షన్లు ఉన్నాయి
fstreambaseఇది స్ట్రీమ్, స్ట్రీమ్ మరియు ఆఫ్‌స్ట్రీమ్ తరగతులకు బేస్ క్లాస్. దీని కార్యకలాపాలు ఫైల్ స్ట్రీమ్‌లకు సాధారణం.
ifstreamఇది ఇన్‌పుట్ ఆపరేషన్‌లను అందించడానికి ఇన్‌పుట్ ఫైల్ స్ట్రీమ్ క్లాస్.
ప్రవాహంఇది అవుట్‌పుట్ ఆపరేషన్‌లను అందించడానికి అవుట్‌పుట్ ఫైల్ స్ట్రీమ్ క్లాస్.
ప్రవాహంఇది ఇన్‌పుట్/అవుట్‌పుట్ స్ట్రీమ్ క్లాస్. ఇది ఏకకాలంలో ఇన్‌పుట్/అవుట్‌పుట్ కార్యకలాపాలకు మద్దతు ఇస్తుంది.

ఇన్‌పుట్/ అవుట్‌పుట్ కోసం C ++ హెడర్ ఫైల్‌లు

C ++ ప్రాథమిక ఇన్‌పుట్/అవుట్ టాస్క్‌లు నిర్వహించడానికి ఫంక్షన్‌లతో వచ్చే మూడు లైబ్రరీలను అందిస్తుంది. వాటిలో ఉన్నవి:

  • Iostream: ఇది ప్రామాణిక ఇన్‌పుట్/అవుట్‌పుట్ స్ట్రీమ్ యొక్క సంక్షిప్త రూపం. ఈ హెడర్ ఫైల్ సిన్/ కౌట్/ సెర్ వంటి వస్తువులకు నిర్వచనాలతో వస్తుంది.
  • ఐమోనిప్: ఇది ఇన్‌పుట్/అవుట్‌పుట్ మానిప్యులేటర్‌ల సంక్షిప్తీకరణ. లైబ్రరీ స్ట్రీమ్‌ల తారుమారు కోసం ఉపయోగించే ఫంక్షన్‌లతో వస్తుంది. ఇది setw, setprecision మరియు ఇతర వస్తువుల కోసం నిర్వచనాలను కలిగి ఉంది.
  • స్రవంతి: ఫైల్ స్ట్రీమ్‌ను వివరించడానికి ఇది హెడర్ ఫైల్. ఇది ఫైల్ నుండి చదివిన డేటాను ఇన్‌పుట్‌గా నిర్వహిస్తుంది లేదా ఫైల్, అవుట్‌పుట్‌కు వ్రాయబడుతుంది.

సిన్ మరియు కౌట్ కీలకపదాలు సి ++ లో బాగా ప్రాచుర్యం పొందాయి. అవి వరుసగా ఇన్‌పుట్‌లను తీసుకోవడానికి మరియు అవుట్‌పుట్‌లను ముద్రించడానికి ఉపయోగిస్తారు. వాటిని ఉపయోగించడానికి, మీరు మీ ప్రోగ్రామ్‌లో iostream హెడర్ ఫైల్‌ను తప్పక చేర్చాలి. కారణం అవి ఆ హెడర్ ఫైల్‌లో నిర్వచించబడ్డాయి. Iostream హెడర్ ఫైల్‌ను చేర్చడంలో వైఫల్యం ఒక లోపాన్ని సృష్టిస్తుంది. కీవర్డ్‌ల అర్థాన్ని అర్థం చేసుకోవడంలో C ++ కంపైలర్ చేసిన వైఫల్యం ఫలితంగా ఇది వస్తుంది.

Iostream హెడర్ ఫైల్‌లో నిర్వచించబడిన ప్రధాన వస్తువులు cin, cout, cerr మరియు clog. వాటి గురించి చర్చిద్దాం.

std :: కౌట్

Cout వస్తువు iostream తరగతికి ఒక ఉదాహరణ. ప్రామాణిక అవుట్‌పుట్ పరికరంలో అవుట్‌పుట్ ఉత్పత్తి చేయడానికి ఇది ఉపయోగించబడుతుంది, ఇది సాధారణంగా స్క్రీన్. ఇది స్ట్రీమ్ చొప్పించే ఆపరేటర్‌తో కలిపి ఉపయోగించబడుతుంది (<<).

ఉదాహరణ:

 #include using namespace std; int main() { char welcome[] = 'Welcome to Guru99'; cout << welcome << endl; return 0; } 

అవుట్‌పుట్:

కోడ్ యొక్క స్క్రీన్ షాట్ ఇక్కడ ఉంది:

కోడ్ వివరణ:

  1. Cout ఆబ్జెక్ట్ నిర్వచించబడిన iostream హెడర్ ఫైల్‌ని చేర్చండి.
  2. Std నేమ్‌స్పేస్‌ని చేర్చండి, దాని తరగతులను ఉపయోగిస్తున్నప్పుడు మేము దానిని కాల్ చేయనవసరం లేదు.
  3. ప్రధాన () ఫంక్షన్‌కు కాల్ చేయండి. ప్రోగ్రామ్ కోడ్ దాని శరీరంలో చేర్చబడాలి. ప్రారంభ కర్లీ బ్రేస్ {దాని శరీరం ప్రారంభాన్ని సూచిస్తుంది.
  4. స్ట్రింగ్‌ను పట్టుకోవడానికి స్వాగతం 99 అనే క్యారెక్టర్ వేరియబుల్‌ను క్రియేట్ చేయండి.
  5. కన్సోల్‌లో స్ట్రింగ్ స్వాగత విలువను ముద్రించండి. Endl అనేది C ++ కీవర్డ్, అంటే ముగింపు రేఖ. ఇది తదుపరి పంక్తిలో వచనాన్ని ముద్రించడం ప్రారంభించడానికి కర్సర్‌ని కదిలిస్తుంది.
  6. విజయవంతమైన అమలు తర్వాత ప్రోగ్రామ్ విలువను తిరిగి ఇవ్వాలి.
  7. ఫంక్షన్ మెయిన్ () యొక్క బాడీ ముగింపు.

std :: cin

సిన్ వస్తువు istream తరగతికి ఒక ఉదాహరణ. ఇది ఇన్‌పుట్ పరికరం, కీబోర్డ్ నుండి ఇన్‌పుట్‌ను చదువుతుంది. ఇది సాధారణంగా వెలికితీత ఆపరేటర్ (>>) తో కలిసి ఉపయోగించబడుతుంది. సిన్ వస్తువు నుండి కీబోర్డ్ ద్వారా నమోదు చేసిన డేటాను సంగ్రహించడానికి వెలికితీత వస్తువు బాధ్యత వహిస్తుంది.

ఉదాహరణ:

కింది ఉదాహరణ C ++ లో సిన్ కీవర్డ్‌ని ఎలా ఉపయోగించాలో ప్రదర్శిస్తుంది: | _+_ |

అవుట్‌పుట్:

కోడ్ యొక్క స్క్రీన్ షాట్ ఇక్కడ ఉంది:

కోడ్ వివరణ:

  1. మా ప్రోగ్రామ్‌లో iostream హెడర్ ఫైల్‌ను చేర్చండి. ఈ హెడర్ ఫైల్‌లో సిన్ ఆబ్జెక్ట్ నిర్వచించబడింది.
  2. దాని తరగతులను ఉపయోగించడానికి std నేమ్‌స్పేస్‌ని చేర్చండి. దాని తరగతులను ఉపయోగిస్తున్నప్పుడు మీరు std కి కాల్ చేయవలసిన అవసరం లేదు.
  3. ప్రధాన () ఫంక్షన్‌కు కాల్ చేయండి. ప్రోగ్రామ్ కోడ్ దాని శరీరంలో చేర్చబడాలి.
  4. కార్యక్రమం యొక్క బాడీ ప్రారంభం.
  5. పూర్ణాంక వేరియబుల్ పేరు గల నంబర్‌ని ప్రకటించండి.
  6. స్క్రీన్‌పై సందేశాన్ని ముద్రించండి, వినియోగదారు నంబర్‌ని నమోదు చేయమని ప్రాంప్ట్ చేస్తారు.
  7. కీబోర్డ్ నుండి కన్సోల్‌లో వినియోగదారు నమోదు చేసిన విలువను చదవండి.
  8. ఇతర టెక్స్ట్‌తో పాటు కన్సోల్‌లో పైన చదివిన విలువను ముద్రించండి.
  9. ప్రోగ్రామ్ విజయవంతంగా అమలు చేయబడితే విలువను తిరిగి ఇవ్వాలి.
  10. ప్రధాన ఫంక్షన్ యొక్క శరీరం ముగింపు.

std :: cerr

సెర్ ఆబ్జెక్ట్ సి ++ లో లోపాలను అవుట్‌పుట్ చేయడానికి ప్రామాణిక లోపం స్ట్రీమ్‌ని రూపొందిస్తుంది. సెర్ అనేది ఓస్ట్రీమ్ తరగతికి ఉదాహరణ. సెర్రర్ వస్తువు బఫర్ చేయబడలేదు. దీని అర్థం ఒక దోష సందేశం వెంటనే ప్రదర్శించబడినప్పుడు ఇది ఉపయోగించబడుతుంది.

ఇది బఫర్ చేయబడనందున, తర్వాత డిస్‌ప్లే కోసం ఇది దోష సందేశాన్ని నిల్వ చేయదు. ఇది స్ట్రీమ్ చొప్పించే ఆపరేటర్‌తో కలిపి ఉపయోగించబడుతుంది (<<).

ఉదాహరణ:

 #include using namespace std; int main() { int number; cout <> number; cout << '
You entered: ' << number; return 0; } 

అవుట్‌పుట్:

కోడ్ యొక్క స్క్రీన్ షాట్ ఇక్కడ ఉంది:

కోడ్ వివరణ:

  1. సెర్ ఆబ్జెక్ట్ నిర్వచించబడిన చోట iostream హెడర్ ఫైల్‌ను చేర్చండి.
  2. Std నేమ్‌స్పేస్‌ని చేర్చండి, దాని తరగతులను ఉపయోగిస్తున్నప్పుడు మేము దానిని కాల్ చేయనవసరం లేదు.
  3. ప్రధాన () ఫంక్షన్‌కు కాల్ చేయండి. ప్రోగ్రామ్ లాజిక్ దాని శరీరంలో చేర్చబడాలి. ప్రారంభ గిరజాల బ్రేస్ ఫంక్షన్ యొక్క శరీర ప్రారంభాన్ని సూచిస్తుంది.
  4. కన్సోల్‌లో ఎర్రర్‌ను ప్రింట్ చేయడానికి సెర్ ఆబ్జెక్ట్ ఉపయోగించండి.
  5. విజయవంతమైన అమలు తర్వాత ప్రోగ్రామ్ తప్పనిసరిగా విలువను తిరిగి ఇవ్వాలి.
  6. ప్రధాన ఫంక్షన్ యొక్క శరీరం ముగింపు.

std :: clog

అడ్డుపడే వస్తువు అనేది ఓస్ట్రీమ్ క్లాస్ యొక్క ఒక ఉదాహరణ. ప్రామాణిక ప్రదర్శన, మానిటర్‌లో లోపాలను చూపించడానికి ఇది ఉపయోగించబడుతుంది. ఇది సెర్ ఆబ్జెక్ట్‌తో సమానంగా ఉంటుంది, కానీ అది బఫర్ చేయబడింది. ఇది బఫర్ చేయబడినందున, బఫర్ నిండిన/ఫ్లష్ అయ్యే వరకు ఇది బఫర్‌లో దోష సందేశాన్ని నిల్వ చేస్తుంది. ఇది స్ట్రీమ్ చొప్పించే ఆపరేటర్‌తో కలిపి ఉపయోగించబడుతుంది (<<).

ఉదాహరణ:

 #include using namespace std; int main() { cerr << 'An Error occurred!'; return 0; } 

అవుట్‌పుట్:

కోడ్ యొక్క స్క్రీన్ షాట్ ఇక్కడ ఉంది:

కోడ్ వివరణ:

  1. అడ్డుపడే వస్తువు నిర్వచించబడిన iostream హెడర్ ఫైల్‌తో సహా.
  2. Std నేమ్‌స్పేస్‌తో సహా, మేము దాని క్లాసులను పిలవకుండానే ఉపయోగించవచ్చు.
  3. ప్రధాన () ఫంక్షన్‌కు కాల్ చేస్తోంది. ప్రోగ్రామ్ లాజిక్ దాని శరీరంలో చేర్చబడాలి. ఫంక్షన్ యొక్క శరీరం యొక్క ప్రారంభాన్ని సూచిస్తుంది.
  4. ప్రామాణిక అవుట్‌పుట్, మానిటర్‌లో దోషాన్ని ముద్రించడానికి క్లాగ్ ఆబ్జెక్ట్‌ను ఉపయోగించండి.
  5. కార్యక్రమం విజయవంతంగా పూర్తయిన తర్వాత తప్పనిసరిగా విలువను తిరిగి ఇవ్వాలి.
  6. ఫంక్షన్ మెయిన్ () యొక్క బాడీ ముగింపు.

IO స్ట్రీమ్‌లతో నిర్వహించడంలో లోపం:

స్ట్రీమ్ చెల్లుబాటు అవుతుందో లేదో తనిఖీ చేయడానికి, మీరు దాన్ని బూలియన్‌గా ఉపయోగించవచ్చు.

ఇక్కడ ఒక ఉదాహరణ: | _+_ |

స్ట్రీమ్ స్థితి కోసం మరిన్ని వివరాలను పొందడానికి, మీరు ఈ ఫంక్షన్‌లను ఉపయోగించవచ్చు:

  • గుడ్ ()- అంతా సవ్యంగా ఉంటే నిజమైనదిగా తిరిగి వస్తుంది.
  • చెడు ()- ప్రాణాంతకమైన లోపం సంభవించినట్లయితే నిజమైనదిగా తిరిగి వస్తుంది.
  • విఫలం ()- విజయవంతం కాని స్ట్రీమ్ ఆపరేషన్ తర్వాత నిజమవుతుంది.
  • eof ()- ఫైల్ చివరకి చేరుకున్నట్లయితే అది నిజం అవుతుంది.

నిర్దిష్ట రీడ్/రైట్ ఆపరేషన్ విఫలమైందో లేదో తెలుసుకోవడానికి, చదివిన ఫలితాన్ని పరీక్షించండి.

ఉదాహరణకు, వినియోగదారు చెల్లుబాటు అయ్యే పూర్ణాంకాన్ని నమోదు చేసారో లేదో తనిఖీ చేయడానికి, ఇలా చేయండి: | _+_ |

సారాంశం

  • C ++ లో ఇన్‌పుట్ మరియు అవుట్‌పుట్ పనులు బైట్ సీక్వెన్స్ ద్వారా జరుగుతాయి. బైట్‌లను స్ట్రీమ్‌లు అంటారు.
  • ఇన్‌పుట్ స్ట్రీమ్‌లో, కీట్‌బోర్డ్ వంటి ఇన్‌పుట్ పరికరం నుండి ప్రధాన మెమరీకి బైట్‌లు ప్రవహిస్తాయి.
  • అవుట్‌పుట్ స్ట్రీమ్‌లో, ప్రధాన మెమరీ నుండి బైట్‌లు మానిటర్ వంటి అవుట్‌పుట్ పరికరానికి.
  • సిన్ వస్తువు istream తరగతికి ఒక ఉదాహరణ. ఇది కీబోర్డ్ వంటి ఇన్‌పుట్ పరికరం నుండి ఇన్‌పుట్‌ను చదువుతుంది.
  • కౌట్ ఆబ్జెక్ట్ అనేది ఓస్ట్రీమ్ క్లాస్ యొక్క ఉదాహరణ. ఇది మానిటర్ వంటి అవుట్‌పుట్ పరికరాలపై ఉత్పత్తిని ఉత్పత్తి చేస్తుంది.
  • సెర్ ఆబ్జెక్ట్ అనేది ఓస్ట్రీమ్ క్లాస్ యొక్క ఉదాహరణ. ఇది మానిటర్‌లో దోష వస్తువులను ప్రదర్శిస్తుంది.
  • అడ్డుపడే వస్తువు అనేది ఓవర్‌స్ట్రీమ్ తరగతికి ఉదాహరణ. ఇది అవుట్‌పుట్ పరికరాల్లో దోష సందేశాలను ప్రదర్శిస్తుంది.
  • అడ్డుపడే వస్తువు లోపం సందేశాలను బఫర్ చేస్తుంది, అయితే సెర్ ఆబ్జెక్ట్ అలా చేయదు.