דף הבית » איך קוראים » כיצד לקרוא מספר ממחרוזת בשפת C

כיצד לקרוא מספר ממחרוזת בשפת C

כיצד לקרוא מספר ממחרוזת בשפת C

מבוא למחרוזות ב-C

מחרוזות הן סוג נתונים בשפת התכנות C. הם משמשים לאחסון רצף של תווים, כגון מילים, מספרים וסמלים. מחרוזות מוכרזות בדרך כלל כמערך של תווים, כאשר התו האחרון הוא תו ריק (\0). ניתן לתפעל מחרוזות בדרכים שונות, כגון שרשור (חיבור של שתי מחרוזות יחד), חיתוך (חילוץ חלק ממחרוזת) , וחיפוש (מציאת תו מסוים או מחרוזת משנה בתוך מחרוזת).

קריאת מספר מתוך מחרוזת

קריאת מספר ממחרוזת היא משימה נפוצה בתכנות C. זה כולל המרת מחרוזת תווים לערך מספרי. ניתן לעשות זאת באמצעות הפונקציה atoi() שהיא חלק מספריית C הסטנדרטית. הפונקציה atoi() לוקחת מחרוזת כארגומנט ומחזירה מספר שלם. ניתן להשתמש בו כדי להמיר מחרוזת ספרות למספר שלם. לדוגמה, ניתן להמיר את המחרוזת "123" למספר השלם 123 באמצעות הפונקציה atoi() .

שימוש ב-atoi() כדי לקרוא מספר ממחרוזת

ניתן להשתמש בפונקציה atoi() כדי לקרוא מספר ממחרוזת. כדי להשתמש בו, פשוט העבירו את המחרוזת כארגומנט לפונקציה. לאחר מכן הפונקציה תחזיר ערך שלם. לדוגמה, הקוד הבא קורא מחרוזת המכילה את הספרות "123" וממיר אותה למספר שלם:

 int num = atoi("123");

המשתנה num יכיל כעת את הערך 123.

מגבלות של atoi()

לפונקציה atoi() יש כמה מגבלות. הוא יכול לקרוא רק מחרוזות המכילות ספרות, ואינו יכול לקרוא מחרוזות המכילות נקודות עשרוניות או מספרים שליליים. אם המחרוזת מכילה תווים שאינם ספרתיים, הפונקציה atoi() תחזיר 0. לדוגמה, המחרוזת "123abc" תומר ל-0.

שימוש ב-strtol() כדי לקרוא מספר ממחרוזת

הפונקציה strtol() היא דרך נוספת לקרוא מספר ממחרוזת. הוא גמיש יותר מ-atoi() וניתן להשתמש בו לקריאת מחרוזות המכילות נקודות עשרוניות ומספרים שליליים. הפונקציה strtol() לוקחת שלושה ארגומנטים: מחרוזת, מצביע למשתנה ובסיס. ארגומנט המחרוזת הוא המחרוזת שיש להמיר. ארגומנט המצביע הוא מצביע למשתנה שיאחסן את התוצאה. ארגומנט הבסיס הוא הבסיס של המספר שיש לקרוא (לדוגמה 10 עבור עשרוני, 16 עבור הקסדצימלי). לדוגמה, הקוד הבא קורא מחרוזת המכילה את הספרות "123" וממיר אותה למספר שלם:

 int num;strtol("123", &num, 10);

המשתנה num יכיל כעת את הערך 123.

השוואה מהירה

פוּנקצִיָה עשרוניות שליליים
atoi() לא לא
strtol() כן כן

לסיכום, ניתן להשתמש בפונקציה atoi() לקריאת מספר ממחרוזת, אך יש לה כמה מגבלות. הפונקציה strtol() גמישה יותר וניתן להשתמש בה כדי לקרוא מחרוזות המכילות נקודות עשרוניות ומספרים שליליים. שתי הפונקציות הן חלק מספריית C הסטנדרטית וניתן להשתמש בהן בכל תוכנית C. צפה במדריך כיצד לקרוא מספר ממחרוזת בשפת C

צרו איתנו קשר

אהבתם? שלחו לחבר\ה שחייב\ת לדעת גם!

דילוג לתוכן