עבור לתוכן

מחרוזות שפת C

Featured Replies

פורסם

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

עוד דבר - אסור להשתמש בפונקציות ספריה מוכנות בשביל מחרוזות.

משום מה זה דוחף לי את התו \n (שורה חדשה) בפנים, כך שנאלצתי לשים במיוחד תנאי בשביל זה. רק אני לא מבין למה זה קורה.

זה הקוד: http://pastebin.com/cRj92XmW

פורסם

האם הבעיה שלך היא זה שבסוף המחרוזת אתה מקבל את הn\?

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

פורסם
  • מחבר

תודה!

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

יש דרך אחרת לעשות את זה? (הכוונה לא עם [] או עם הוספה של האינדקס לכתובת (p + index)* )

פורסם

תשמור עוד מצביע.

פורסם
  • מחבר

ואז במקום לקחת את המצביע אחורה, אני אצטרך לעשות השמה עם המצביע שנשמר בצד. זה ישנה משהו מבחינת יעילות?

ארכיון

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

דיונים חדשים