כיצד לנתח מחרוזות בשפת C ? - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

כיצד לנתח מחרוזות בשפת C ?


DoctorBurp

Recommended Posts

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

אילו פונקציות הקיימות בספרייה STRING.H יכולות לעזור לי לבצע את המשימה הזאת?

נ.ב ניסיתי להישתמש ב STRTOK אולם היא לא ממש עוזרת.

קישור לתוכן
שתף באתרים אחרים

אני לא רואה למה היא לא עוזרת

זו בדיוק הדרך להפריד מחרוזת למילים שמורכיבות אותו

שמת לב שאתה צריך לתת לפונקציה את התו שמפריד בין 2 מילים כלומר את ' ' ?

קישור לתוכן
שתף באתרים אחרים

ע"פ ה HELP הפונקציה מחזירה מבציע לתו הראשון במחרוזת הראשונה, שאינו מופיע במחרוזת השנייה.

למרות זאת ניסיתי לשחק איתה קצת, ודוגמה רשמתי:

p = strtok("S(a,b)",","); (ישר את הטקסט לצד שמאל אם הפונקציה אינה ברורה).

ובאמת קיבלתי: S(a. הבעייה היא שאני רוצה לקבל רק את הפרמטרים שהמשתמש מכניס, ואם אני מפעיל את הפונרציה שוב, על המחרוזת החדשה, אני בכלל מקבל אני הסוגריים האחרונים.

קישור לתוכן
שתף באתרים אחרים

אני חושב שזה אמור להיות ',' אבל לא משנה

בכל מקרה אתה יכול לעשות משהו כזה

p = strtok("S(a,b)",'(');

p = strtok("S(a,b)",'(');

p[strlen(p) - 1] = '\0' // remove last ')'

ואז

q = strtok(p,','); // == a

q = strtok(p,','); // == b

או משהו בסיגנון

הרעיון מובן?

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...