logo

يحصل C على () ويضع وظائف ().

تم الإعلان عن get() و puts() في ملف الرأس stdio.h. تشارك كلتا الوظيفتين في عمليات الإدخال/الإخراج للسلاسل.

يحصل C على وظيفة ().

تتيح وظيفة get() للمستخدم إدخال بعض الأحرف متبوعة بمفتاح الإدخال. يتم تخزين جميع الأحرف التي أدخلها المستخدم في مصفوفة أحرف. تتم إضافة الحرف الفارغ إلى المصفوفة لجعلها سلسلة. يتيح get() للمستخدم إدخال السلاسل المفصولة بمسافات. تقوم بإرجاع السلسلة التي أدخلها المستخدم.

تصريح

 char[] gets(char[]); 

قراءة السلسلة باستخدام get()

 #include void main () { char s[30]; printf('Enter the string? '); gets(s); printf('You entered %s',s); } 

انتاج |

 Enter the string? javatpoint is the best You entered javatpoint is the best 

يعد استخدام الدالة gets() محفوفًا بالمخاطر نظرًا لأنها لا تقوم بأي فحص مرتبط بالصفيف وتستمر في قراءة الأحرف حتى تتم مواجهة السطر الجديد (إدخال). إنه يعاني من تجاوز سعة المخزن المؤقت، والذي يمكن تجنبه باستخدام fgets(). يتأكد fgets() من عدم قراءة أكثر من الحد الأقصى لعدد الأحرف. النظر في المثال التالي.

 #include void main() { char str[20]; printf('Enter the string? '); fgets(str, 20, stdin); printf('%s', str); } 

انتاج |

 Enter the string? javatpoint is the best website javatpoint is the b 

يضع C وظيفة ().

الدالة puts() تشبه إلى حد كبير الدالة printf(). تُستخدم الدالة puts() لطباعة السلسلة الموجودة على وحدة التحكم والتي تمت قراءتها مسبقًا باستخدام الدالة get() أو scanf(). تقوم الدالة puts() بإرجاع قيمة عددية تمثل عدد الأحرف المطبوعة على وحدة التحكم. نظرًا لأنها تطبع حرف سطر جديد إضافي مع السلسلة، مما يحرك المؤشر إلى السطر الجديد على وحدة التحكم، فإن قيمة العدد الصحيح التي يتم إرجاعها بواسطة puts() ستكون دائمًا مساوية لعدد الأحرف الموجودة في السلسلة بالإضافة إلى 1.

تصريح

 int puts(char[]) 

دعونا نرى مثالاً لقراءة سلسلة باستخدام gets() وطباعتها على وحدة التحكم باستخدام puts().

 #include #include int main(){ char name[50]; printf('Enter your name: '); gets(name); //reads string from user printf('Your name is: '); puts(name); //displays string return 0; } 

انتاج:

 Enter your name: Sonoo Jaiswal Your name is: Sonoo Jaiswal