logo

Conio.h في C

سوف نتعرف على ملف رأس conio.h المفيد للغاية في لغة C في هذا المقال. سنقوم أيضًا بفحص الوظائف الموجودة في conio.h بالإضافة إلى استخدام conio.h في لغة البرمجة C.

الجدول في رد الفعل

ما هو conio.h في البرمجة C؟

النوع الأكثر شيوعًا من ملفات الرأس المستخدمة في لغة البرمجة C. بالنسبة لوحدة الإدخال والإخراج، فهو اختصار. يستخدم برنامج C الكثير من وظائف المكتبة المضمنة في conio.h للإدخال والإخراج. من مترجم إلى آخر، يمكن تعريف وظائف مختلفة داخل ملف conio.h.

لماذا يتم استخدام conio.h في لغة C؟

Conio.h هو ملف رأس يحتوي على العديد من الوظائف المضمنة التي يتم استخدامها بشكل شائع لتنفيذ الإدخال/الإخراج على وحدة التحكم، أو لتلقي الإدخال من لوحة مفاتيح المستخدم وإظهار النتائج على الشاشة. يتم استخدام العديد من إجراءات conio.h، مثل getch()، للاحتفاظ بالشاشة حتى يضغط المستخدم على المفتاح.

الوظيفة المعلن عنها في ملف C conio.h

تحتوي ملفات الرأس conio.h على عدد من الوظائف، بعضها يتضمن:

    clrscr()

يمكن مسح الإخراج الموجود على الشاشة باستخدام هذه الوظيفة.

شفرة:

 #include #include int main() { printf('Welcome to JavaTpoint'); printf('
This is the Second sentence of the program'); clrscr(); printf('Output After using clrscr() function'); return 0; } 

انتاج |

 Output After using clrscr() function ????????????????????.. Process executed in 1.11 seconds Press any key to continue 

توضيح:

هنا، في الكود أعلاه، استخدمنا وظيفة clrscr() قبل طباعة بيانين وقمنا بتضمين ملفي الرأس stdio.h وconio.h. ومن ثم، يتم مسح كافة العبارات الموجودة فوق طريقة clrscr().

    احصل على ()

تقرأ لوحة المفاتيح حرفًا واحدًا. يمنع أصداء الشخصية. يجب أن تظل النافذة مفتوحة حتى يقوم المستخدم بإدخال أي شيء قبل متابعة التطبيق أو إغلاقه.

شفرة:

 #include #include int main() { printf('Enter your character: '); getch(); return 0; } 

انتاج |

 Enter your character: Press any key to continue ???????????????????????????? Process executed in 1.22 seconds 

توضيح:

تم تضمين ملفي الرأس stdio.h وconio.h في الكود أعلاه، وبعد طباعة سطر واحد لطلب الإدخال من لوحة المفاتيح، استخدمنا طريقة getch()، والتي ستنتظر حتى يتوقف المستخدم عن إدخال البيانات.

    جيتشي ()

إنه مشابه إلى حد ما لـ getch()، إلا أنه يدعم أيضًا القيم الأبجدية الرقمية. يقوم في نفس الوقت بنشر الحرف الذي تم توفيره كمدخلات وتكرار الحرف على الشاشة.

شفرة:

 #include #include int main() { printf('Enter your character: '); getche(); return 0; } 

انتاج |

 Enter your character: j Press any key to continue. ???????????????????????????? Process executed in 1.22 seconds 

توضيح:

لذا، في الكود أعلاه، قمنا بتضمين ملفات الرأس stdio.h وconio.h، وكتبنا سطرًا واحدًا يعرض إدخال المستخدم، ثم استخدمنا الدالة getche() لأخذ حرف أبجدي رقمي وطباعته على الشاشة أو وحدة التحكم في نفس الوقت.

    putch()

يقوم بطباعة أو عرض حرف على وحدة التحكم أو الشاشة.

شفرة:

اسم المستخدم
 #include #include int main() { char str = 'j'; putch(str); return 0; } 

انتاج |

 j Press any key to continue. ???????????????????????????? Process executed in 1.22 seconds 

توضيح:

باستخدام ملفي الرأس stdio.h وconio.h، قمنا أولاً بوضع حرف في متغير سلسلة. بعد ذلك، استخدمنا putch() وسلمنا إليها المتغير الذي يطبع الحرف على الشاشة. هذه هي نفس العملية التي تم إجراؤها باستخدام طريقة getch().

    كجيت ()

فهو يقبل سلسلة من الأحرف كمدخلات من وحدة التحكم حتى يتم تلقي حرف الإرجاع (CR) وتغذية الأسطر (LF). تأثير الخط الجديد (ن) ينتج عن الجمع بين كليهما. ومن ثم، يتم استخدام الفاصل الفارغ (O) في نهاية السلسلة لاستبدال أحرف CR/LF هذه.

شفرة:

 #include #include int main() { char s[100]; char *str; s[0] = 50; printf('Input the character:'); str = cgets(s); printf('
Output on the screen: %s', str); return 0; } 

انتاج |

 Input the character: Welcome to JavaTpoint Output on the screen: Welcome to JavaTpoint ???????????????????????????. Press any key to continue. Process executed in 0.11 seconds 

توضيح

هنا، في الكود أعلاه، قمنا بتضمين ملفي الرأس stdio.h و conio.h ثم قمنا بإنشاء متغير بحجم 100 ومتغير str لتخزين قيمة الإدخال ثم استخدامها لطباعتها. بعد ذلك، لدينا cgets() لإدخال سلسلة ثم قمنا بتخزين متغير s فيها ثم في العبارة الأخيرة قمنا بطباعة القيمة.

    وحدات المعالجة المركزية ()

يعرض كل سلسلة أحرف على شاشة الإخراج أو المحطة.

شفرة:

 #include #include int main() { cputs('Welcome to JavaTpoint'); return 0; } 

انتاج |

 Welcome to JavaTpoint. ???????????????????????????. Press any key to continue. Process executed in 0.11 seconds 

توضيح:

هنا، في الكود أعلاه قمنا بتضمين ملفين رأسيين stdio.h وconio.h ثم استخدمنا cputs لطباعة سلسلة تعرض السلسلة على وحدة التحكم.

    كسكانف () و سيبرينتف ()

كلاهما يعمل بشكل مشابه لـ scanf() و printf (). يقوم Scanf() بتحضير المدخلات المقدمة من المستخدم من وحدة التحكم، ويقوم printf() بنفس الشيء بالنسبة للسلسلة قبل طباعة السلسلة المنسقة على وحدة التحكم أو الشاشة.

 #include #include int main() { char marks[50]; cprintf('Enter your marks: '); cscanf('%s', marks); cprintf('
Passed, %s',marks); return 0; } 

انتاج |

 Enter your marks: 80 Passed, 80 ??????????????? Press any key to continue Process executed in 1.11 seconds 

توضيح

هنا، في الكود أعلاه، قمنا بتضمين ملفين للرأس: stdio.h وconio.h. بعد ذلك، أخذنا متغيرًا من نوع بيانات السلسلة، واسمه علامات، وحجمه 50. بعد ذلك، استخدمنا الدالة cprintf() لطباعة سطر، والدالة cscanf() لجمع مدخلات المستخدم، و الدالة cprintf() مرة أخرى لطباعة سلسلة على وحدة التحكم.

    كبهيت()

تمكننا هذه الميزة من تحديد ما إذا كان المستخدم قد قام بالضغط على أي مفاتيح أم لا. لتحديد ما إذا كان اللاعب قد دفع أي مفاتيح أم لا، يتم استخدامه في العديد من الألعاب.

سلسلة مقارنة ج #

شفرة:

 #include #include int main() { do{ printf('To stop this loop press any key
'); }while(!kbhit()); return 0; } 

انتاج |

 To stop this loop press any key To stop this loop press any key To stop this loop press any key ... Until the key is pressed ?????????????????? Press any key to continue Process executed in 1.11 seconds 

توضيح:

تم استخدام الأسلوب kbhit() في حلقة while في الكود أعلاه بعد تضمين ملفين رأسيين، stdio.h وconio.h. ومن ثم، ستستمر طريقة kbhit() في الحلقة حتى وما لم يتم لمس المفتاح، وعند هذه النقطة ستتوقف وسينتهي البرنامج.

    ديلين ()

تستخدم هذه الميزة لحذف سطر أو عدة أسطر من الشاشة.

شفرة:

 #include #include int main() { printf('Welcome to JavaTpoint'); printf('
 Due to the delline function being used below, this line will be cleared.'); delline(); printf('
Text printed after using delline function.'); return 0; } 

انتاج |

 Welcome to JavaTpoint Due to the delline function being used below, this line will be cleared. Text printed after using delline function. ??????????????????????????. Press any key to continue Process executed in 1.11 seconds 

توضيح:

هنا، في الكود أعلاه، قمنا بتضمين ملفين للرأس: stdio.h وconio.h. بعد ذلك قمنا بطباعة سطرين، واستخدمنا الدالة delline لمسح السطر الذي فوقه مباشرة، ثم طبعنا سطرًا واحدًا مرة أخرى لإظهار نتيجة تنفيذ الدالة.

    جوتوكسي ()

الطريقة التي تعمل بها هذه الطريقة هي أنها تأخذ وسيطتين ثم تحرك المؤشر إلى نقطة معينة على نافذتك باستخدام هاتين المعلمتين.

شفرة:

 #include #include int main() { int a = 100, b = 50; gotoxy(a,b); printf('Cursor Position has been changed.'); return 0; } 

انتاج |

 The cursor position has been changed. ................................................................... Process executed in 1.11 seconds Press any key to continue. 

توضيح:

تم تضمين الملفين الرأسيين stdio.h وconio.h في الكود أعلاه، وبعد ذلك، اخترنا قيمتين صحيحتين وقمنا بتوفيرهما كمعلمة للدالة gotoxy()، والتي ستقوم بتعديل موقع المؤشر بمجرد تم تشغيل البرنامج.

    أين () و أين ()

توفر هذه الوظيفة معلومات حول إحداثيات X وY للمؤشر اعتبارًا من الآن، حيث تعطي() إحداثي y للمؤشر في شاشة الإخراج الحالية، بينما تكشف Wherex() عن إحداثي x للمؤشر في شاشة الإخراج الحالية.

شفرة:

 #include #include int main() { int x, y; x = wherex(); y = wherey(); cprintf('

The Coordinates of X and Y are - (%d, %d)', x, y); return 0; } 

انتاج |

 The Coordinates of X and Y are- (1,2) ................................................................... Process executed in 1.11 seconds Press any key to continue. 

توضيح:

تم تضمين الملفين الرأسيين stdio.h وconio.h في الكود أعلاه قبل أن نأخذ عددين صحيحين، x وy، ونحفظ قيم Wherex() في x وwherey() في y. بعد ذلك، قمنا بطباعة قيم x وy، التي تشير إلى إحداثيات x وy الحالية للمؤشر على الشاشة النشطة.