שאלה למי שיודע...

שאלה למי שיודע...

בשפת C++ קיימת פונקציה strcat שתפקידה לשרשר מחרוזת אל תוך מחרוזת שכבר קיימת. דוגמא, אם יש לי את המחרוזת "hello" ואני רוצה לשרשר אליה את "world" אני משתמשת בפונקציה זו. האם יש למישהו מושג האם קיימת (ואם כן מהי ואיך השימוש בה נעשה) פונקציה שמורידה מחרוזת? אם שרשרתי את "world" ועכשיו אני רוצה לחזור חזרה ל"hello", יש אפשרות כזו??? תודה לעונים
 

vicz

New member
בדיוק לומדת C++ אבל ממה שאני יודעת

אם אתה משתמש בטיפוס string אז אתה יכול להשתמש ב-erase שמוחקת תת מחרוזת החל ממקום מסוים במחרוזת הנתונה הסינטקס הוא: erase(begging of the substring,number of chars in substring) כמובן זוהי מטודה של string ולכן מופעלת על אובייקט מסוג זה אפשר לחפש את האינדקס שבו מתחילה התת מחרוזת ע"י find,rfind,find_first_of לא מצאתי משהו אחר ויקי
 

גיל14

New member
שאלה לפורום שפות תכנות

אבל... את משתמשת במחרוזת C-style (כלומר *char) או במחרוזת C++-style (כלומר std::string)? אם זה C-style, אפשר להשתמש בטריק הבא -
char str1[] = "Hello"; char str2[] = " World!"; strcat(str1,str2); /* str1 now contains "Hello World!" */ *(strstr(str1,str2)) = '\0'; /* str1 now contains "Hello" */​
 
למעלה