تفاوت کلیدی – getc در مقابل getchar
یک تابع مجموعه ای از دستورات برای انجام یک کار خاص است. در برنامه نویسی کاربر می تواند توابع خود را تعریف کند یا از توابع ارائه شده توسط زبان برنامه نویسی استفاده کند. زبان C دارای تعدادی توابع است، بنابراین برنامه نویس می تواند مستقیماً از آنها در کدنویسی استفاده کند بدون اینکه از ابتدا آنها را پیاده سازی کند. عملکردهای کمی وجود دارد که با خواندن شخصیت مرتبط باشد. دو تای آنها getc و getchar هستند. تفاوت اصلی بین getc و getchar در این است که getc برای خواندن یک کاراکتر از یک جریان ورودی مانند یک فایل یا ورودی استاندارد استفاده می شود در حالی که Getchar برای خواندن یک کاراکتر از ورودی استاندارد است.این مقاله تفاوت بین این دو تابع را مورد بحث قرار می دهد.
getc چیست؟
این تابعی است که برای خواندن یک کاراکتر از یک جریان ورودی مانند یک فایل یا یک صفحه کلید استفاده می شود. مقدار صحیح مربوطه را در موفقیت برمی گرداند. نحو getc، int getc (فایلجریان) است. به مثال زیر مراجعه کنید. فرض کنید test.txt یک فایل متنی ساده در فهرست پروژه است. این فایل دارای دو کاراکتر «a» و «b» است.
شکل 01: خواندن کاراکترهای یک فایل با استفاده از getc
طبق برنامه فوق فایل تست در حالت خواندن باز می شود. سپس کاراکتر اول با استفاده از تابع getc خوانده می شود و در متغیر c1 ذخیره می شود. خروجی عبارت printf c1. سپس کاراکتر دوم خوانده شده و در متغیر c2 ذخیره می شود. خروجی عبارت printf c2.بنابراین، تابع getc برای خواندن یک کاراکتر از یک جریان مانند یک فایل استفاده می شود.
شکل 02: خواندن کاراکترها در یک فایل با استفاده از getc و حلقه.
می توان از آن با یک حلقه برای خواندن همه کاراکترها، یک به یک تا رسیدن به انتهای فایل (EOF) مانند بالا استفاده کرد. دو کاراکتر در فایل test.txt روی صفحه نمایش داده می شوند.
getchar() چیست؟
getchar() برای خواندن یک کاراکتر فقط از ورودی استاندارد استفاده می شود. منتظر می ماند تا کلید enter فشرده شود و خواندن روی صفحه نمایش داده شود. نحو آن شبیه int getchar(void); است
تابع getchar به آرگومانی مانند getc نیاز ندارد. به طور پیش فرض، getchar برای ورودی استاندارد کار می کند. بنابراین، لازم نیست که هیچ آرگومانی را به تابع getchar منتقل کنید. به مثال زیر مراجعه کنید.
شکل 03: getchar
وقتی کاربر کاراکتر ورودی را می دهد، روی صفحه نمایش داده می شود و منتظر می ماند تا کلید enter فشار داده شود. پس از کلید enter، خروجی به دلیل عملکرد printf روی صفحه چاپ می شود.
همان عملکرد getchar را می توان با استفاده از تابع getc به شرح زیر به دست آورد.
شکل 04: عملکرد getchar با استفاده از getc
طبق برنامه بالا از تابع getc برای خواندن یک کاراکتر استفاده می شود. در متغیر "ch" ذخیره می شود. تابع getc stdin را استدلال می کند تا نشان دهد که ورودی از ورودی استاندارد که صفحه کلید است گرفته شده است.کاربر می تواند یک کاراکتر بدهد و کلید اینتر را فشار دهد. سپس آن کاراکتر با استفاده از تابع printf روی صفحه چاپ می شود.
شباهتهای بین getc و getchar چیست؟
- هر دو توابع ارائه شده توسط زبان برنامه نویسی C هستند.
- هر دو تابع پس از پایان جریان، پایان فایل (EOF) را برمیگردانند.
تفاوت بین getc و getchar چیست؟
getc در مقابل getchar |
|
getc یک تابع C برای خواندن یک کاراکتر از یک جریان ورودی مانند یک جریان فایل یا ورودی استاندارد است. | getchar یک تابع C برای خواندن یک کاراکتر فقط از جریان ورودی استاندارد (stdin) است که صفحه کلید است. |
نحو | |
نحو getc مشابه int getc (فایل جریان) است. | نحو getchar مشابه int getchar(void) است؛ |
خلاصه - getc در مقابل getchar
زبان برنامه نویسی C عملکردهای زیادی را ارائه می دهد. برنامه نویسان می توانند از این توابع بدون پیاده سازی از ابتدا استفاده کنند. دو تا از این توابع getc و getchar هستند. تفاوت getc و getchar در این است که getc برای خواندن یک کاراکتر از یک جریان ورودی مانند یک فایل یا ورودی استاندارد استفاده می شود و getchar برای خواندن یک کاراکتر از ورودی استاندارد است. هر دوی آنها برای خواندن یک کاراکتر استفاده می کنند، اما عملکرد آنها متفاوت است.
دانلود نسخه PDF getc vs getchar
می توانید نسخه PDF این مقاله را دانلود کنید و طبق یادداشت نقل قول برای اهداف آفلاین از آن استفاده کنید. لطفاً نسخه PDF را از اینجا دانلود کنید تفاوت بین getc و getchar