עבור לתוכן

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

Featured Replies

פורסם

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

אילו פונקציות הקיימות בספרייה 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

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

הרעיון מובן?

פורסם
  • מחבר

מממ...כן, אני חושב שפתרתי את הבעייה.

תודה רבה.

ארכיון

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

דיונים חדשים