ቁልፍ ልዩነት – getc vs getchar
አንድ ተግባር አንድን ተግባር ለማከናወን የመግለጫዎች ስብስብ ነው። በፕሮግራም አወጣጥ ውስጥ ተጠቃሚው ተግባራቶቹን መግለፅ ወይም በፕሮግራም አወጣጥ ቋንቋ የተሰጡትን ተግባራት መጠቀም ይችላል። C ቋንቋ የተግባር ብዛት ስላለው ፕሮግራመር ከመጀመሪያው ጀምሮ ሳይተገበር በኮድ ውስጥ በቀጥታ ሊጠቀምባቸው ይችላል። ከቁምፊ ንባብ ጋር የሚያያዙ ጥቂት ተግባራት አሉ። ከእነዚህ ውስጥ ሁለቱ ጌት እና ጌትቻር ናቸው። በጌትቻ እና በጌትቻር መካከል ያለው ቁልፍ ልዩነት ከግቤት ዥረት እንደ ፋይል ወይም መደበኛ ግብዓት ገፀ ባህሪን ለማንበብ ጌትቻር ሲሆን ጌትቻር ደግሞ ከመደበኛ ግብዓት ቁምፊ ለማንበብ ነው።ይህ መጣጥፍ በእነዚህ ሁለት ተግባራት መካከል ያለውን ልዩነት ያብራራል።
ጌት ምንድን ነው?
ይህ ተግባር ነው፣ ከግቤት ዥረት እንደ ፋይል ወይም የቁልፍ ሰሌዳ ቁምፊን ለማንበብ የሚያገለግል ነው። በስኬት ላይ ያለውን ተዛማጅ ኢንቲጀር ዋጋ ይመልሳል። የgetc አገባብ int getc (ፋይልዥረት) ነው። ከታች ያለውን ምሳሌ ተመልከት። test.txt በፕሮጀክት ማውጫ ውስጥ ግልጽ የሆነ የጽሑፍ ፋይል እንደሆነ አስብ። ይህ ፋይል ሁለት ቁምፊዎች አሉት እነሱም 'a' እና 'b'።
ምስል 01፡ የፋይል ቁምፊዎችን getc በመጠቀም ማንበብ
ከላይ ባለው ፕሮግራም መሰረት የሙከራ ፋይሉ በንባብ ሁነታ ይከፈታል። ከዚያም የመጀመሪያው ቁምፊ getc ተግባርን በመጠቀም ይነበባል እና ወደ ተለዋዋጭ c1 ያከማቻል። የህትመት መግለጫው ውጤት c1. ከዚያም ሁለተኛው ቁምፊ ይነበባል እና በተለዋዋጭ c2 ውስጥ ይከማቻል. የህትመት መግለጫው ውጤት c2.ስለዚህ፣ getc ተግባር እንደ ፋይል ካሉ ዥረቶች ላይ ቁምፊን ለማንበብ ይጠቅማል።
ምስል 02፡ ገፀ ባህሪያቶችን በፋይል ማንበብ getc እና loop በመጠቀም።
ከላይ እንደተገለጸው የፋይል መጨረሻ (EOF) እስኪደርስ ድረስ ሁሉንም ቁምፊዎች ለማንበብ በሉፕ መጠቀም ይቻላል። በ test.txt ፋይል ውስጥ ያሉት ሁለቱ ቁምፊዎች በማያ ገጹ ላይ ይታያሉ።
ጌትቻር() ምንድን ነው?
getchar() ቁምፊን ከመደበኛ ግቤት ብቻ ለማንበብ ይጠቅማል። አስገባ ቁልፍ እስኪጫን ድረስ ይጠብቃል እና ንባቡ በስክሪኑ ላይ ይታያል። አገባቡ ከ int Getchar(void) ጋር ተመሳሳይ ነው፤
የጌትቻር ተግባር እንደ ጌትክ ያለ ክርክር አያስፈልገውም። በነባሪ, getchar ለመደበኛ ግቤት ይሰራል. ስለዚህ, ለ getchar ተግባር ማንኛውንም ክርክር ማለፍ አስፈላጊ አይደለም. ከታች ያለውን ምሳሌ ተመልከት።
ሥዕል 03፡ getchar
ተጠቃሚው የግቤት ቁምፊውን ሲሰጥ በስክሪኑ ላይ ይታያል እና አስገባ ቁልፉን እስኪጫን ድረስ ይጠብቃል። ቁልፉን ከገባ በኋላ ውጤቱ በህትመት ተግባር ምክንያት በስክሪኑ ላይ ታትሟል።
ተመሳሳይ የጌትቻር ተግባር የጌትክ ተግባርን በሚከተለው መልኩ ማሳካት ይቻላል።
ሥዕል 04፡ getchar ተግባራዊነት getc በመጠቀም
ከላይ ባለው ፕሮግራም መሰረት የጌት ተግባር ቁምፊን ለማንበብ ይጠቅማል። በ "ch" ተለዋዋጭ ውስጥ ተከማችቷል. የ getc ተግባር ግቤት ከመደበኛው ግቤት የተወሰደ መሆኑን ለማመልከት stdin ይሟገታል።ተጠቃሚው ቁምፊ መስጠት እና አስገባን ቁልፍ መጫን ይችላል። ከዚያ ያ ቁምፊ printf ተግባርን በመጠቀም ወደ ማያ ገጹ ያትማል።
በጌትቻ እና በጌትቻር መካከል ያለው ተመሳሳይነት ምንድን ነው?
- ሁለቱም በC ፕሮግራሚንግ ቋንቋ የሚቀርቡ ተግባራት ናቸው።
- ሁለቱም ተግባራት ዥረቱ ሲያልቅ የፋይል መጨረሻ (EOF) ይመለሳሉ።
በጌትቻ እና በጌትቻር መካከል ያለው ልዩነት ምንድን ነው?
getc vs Getchar |
|
getc ከግቤት ዥረት እንደ የፋይል ዥረት ወይም መደበኛ ግብዓት ያለ ገጸ ባህሪ ለማንበብ C ተግባር ነው። | ጌትቻር ቁምፊን ከመደበኛ የግቤት ዥረት(stdin) ብቻ ለማንበብ የC ተግባር ሲሆን እሱም የቁልፍ ሰሌዳ ነው። |
አገባብ | |
getc አገባብ ከ int getc(ፋይል ዥረት) ጋር ተመሳሳይ ነው። | የጌትቻር አገባብ ከ int Getchar(void) ጋር ተመሳሳይነት አለው፤ |
ማጠቃለያ - getc vs Getchar
የC ፕሮግራሚንግ ቋንቋ ብዙ ተግባራትን ይሰጣል። ፕሮግራመሮች እነዚህን ተግባራት ከመጀመሪያው ሳይተገበሩ ሊጠቀሙባቸው ይችላሉ. ከእነዚህ ተግባራት ውስጥ ሁለቱ getc እና getchar ናቸው። በጌትቻ እና በጌትቻር መካከል ያለው ልዩነት ጌትክ ከግቤት ዥረት እንደ ፋይል ወይም መደበኛ ግብዓት ገፀ ባህሪን ለማንበብ የሚያገለግል ሲሆን ጌትቻር ደግሞ ገጸ ባህሪን ከመደበኛ ግብዓት ለማንበብ ነው። ሁለቱም ገጸ ባህሪ ለማንበብ እየተጠቀሙ ነው፣ ተግባራቸው ግን የተለያዩ ናቸው።
የጌትቻር vs ጌትቻርን የፒዲኤፍ ስሪት አውርድ
የዚህን ጽሁፍ ፒዲኤፍ ስሪት አውርደው እንደ ጥቅስ ማስታወሻ ከመስመር ውጭ ዓላማ መጠቀም ይችላሉ። እባኮትን የፒዲኤፍ ስሪት እዚህ ያውርዱ በጌት እና በጌትቻር መካከል ያለው ልዩነት