logo

C gets() ו-puts() פונקציות

ה-gets() ו-puts() מוכרזים בקובץ הכותרת stdio.h. שתי הפונקציות מעורבות בפעולות הקלט/פלט של המחרוזות.

bash אם עוד

C gets() פונקציה

הפונקציה gets() מאפשרת למשתמש להזין כמה תווים ואחריהם מקש enter. כל התווים שהוזן על ידי המשתמש מאוחסנים במערך תווים. תו ה-null מתווסף למערך כדי להפוך אותו למחרוזת. ה-gets() מאפשר למשתמש להזין את המחרוזות המופרדות ברווח. זה מחזיר את המחרוזת שהזין המשתמש.

הַצהָרָה

 char[] gets(char[]); 

קריאת מחרוזת באמצעות gets()

 #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() מסוכנת לשימוש מכיוון שהיא לא מבצעת שום בדיקת גבולות של מערך וממשיכה לקרוא את התווים עד להיתקל בשורה החדשה (Enter). הוא סובל מהצפת חיץ, שניתן להימנע ממנה באמצעות 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() משמשת להדפסת המחרוזת בקונסולה שנקראה בעבר באמצעות פונקציית gets() או scanf(). הפונקציה puts() מחזירה ערך שלם המייצג את מספר התווים המודפסים במסוף. מכיוון שהוא מדפיס תו חדש נוסף עם המחרוזת, שמזיז את הסמן לשורה החדשה בקונסולה, הערך השלם המוחזר על ידי puts() תמיד יהיה שווה למספר התווים הקיימים במחרוזת פלוס 1.

הַצהָרָה

10 מ"ל לאונקים
 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