برای خواندن یک کاراکتر از ورودی ، علاوه بر تابع ()scanf از توابع دیگری نیزاستفاده میشود که قبل از بررسی آنها به مثالی از()scanf جهت خواندن یک کاراکتر توجه کنید :
مثال ۱:
#include <stdio.h> #include <conio.h> void main() { char ch ; printf("enter a character : "); scanf("%c" , &ch ); printf("you typed the character"); printf(": %c" , ch ); getch(); }
نمونه ای از خروجی حاصل از مثال ۱ بصورت زیر است :
enter a character : j
you typed the character : j
تابع ()getch این تابع برای خواندن یک کاراکتر از ورودی بکار می رود و بصورت زیر استفاده می شود :متغیر = ()getch
پس از آن که کنترل اجرای برنامه به تابع ()getch رسید ، برنامه منتظر فشاردادن کلیدی از صفحه کلید می شود . اگر متغیر مورد نظر کاراکتری باشد مقدارکاراکتری کلید ورود به این متغیر منتقل می شود و در صورتی که این متغیر از نوع عددی باشد ، کد اسکی کلید وارد شده ، در این متغیر قرار می گیرد .
مثال ۲ :
#include <stdio.h> #include <conio.h> void main() { char ch ; printf("\n enter a character : "); ch=getch(); printf("\n character is : "); printf("%c-%d" , ch,ch); getch(); }
فرض کنید در پاسخ به اجرای این برنامه کلید s را در پاسخ به تابع ()getch وارد کنیم . در این صورت خروجی حاصل از اجرای برنامه بصورت زیر خواهد بود :
enter a character : s
character is : s-115
اگر در مثال ۲ به تابع ()printf توجه کنید ، متغیر ch را یکبار با فرمت c% و بار دیگر با فرمت d% نوشته ایم که در حالت اول حرف s و در حالت دوم عدد ۱۱۵ که کد اسکی s است چاپ شده است .
تابع ()getche این تابع همانند تابع ()getch برای خواندن یک کاراکتر از ورودی بکار می رود و بصورت زیر استفاده می شود :متغیر = ()getche
نوع عمل این تابع مثل ()getch است . با این تفاوت که این تابع پس از اخذ ورودی ، آن را روی صفحه نمایش چاپ می کند . حرف e در انتهای تابع به معنی echo ( عکس العمل ) است . تابع ()getchar این تابع همانند توابع ()getch و ()getche برای خواندن یک کاراکتر از ورودی بکار رفته و بصورت زیر استفاده می شود :
متغیر = ()getchar
نوع عمل این تابع همانند دو تابع فوق الذکر است . با این تفاوت که در این تابع پس از وارد نمودن کلیه ( کاراکتر ) مورد نظر ، کلید enter نیز باید وارد شود.