עבור לתוכן

קליטת מחרוזת עם רווחים (C)

Featured Replies

פורסם

מישהו יכול לעזור לי...?

איך קולטים מחרוזת עם רווחים ב-C

אם אני כותבת ככה:

char str[100];

cout<<"please enter you string\n";

cin>>str;

cout<<str;

ואני מכניסה 2 מילים אחת אחרי השניה בהדפסה זה מדפיס רק את המילה הראשונה.

מה עושים?!?!?!

פורסם

קודם כל, cin ו-cout זה ב-++C, לא ב-C. אז כדאי שתדייקי בכותרת.

חוץ מזה, כשאת כותבת קוד, תשתמשי בטג קוד (כפתור #, ליד הכפתור של הציטוט) כדי שייראה טוב.

לשאלתך: cin אכן עוצרת כשהיא מגיעה לתו רווח. הפתרון הוא להשתמש בפונקציה getline

http://www.cplusplus.com/reference/iostream/istream/getline/

פורסם
  • מחבר

קודם כל, cin ו-cout זה ב-++C, לא ב-C. אז כדאי שתדייקי בכותרת.

חוץ מזה, כשאת כותבת קוד, תשתמשי בטג קוד (כפתור #, ליד הכפתור של הציטוט) כדי שייראה טוב.

לשאלתך: cin אכן עוצרת כשהיא מגיעה לתו רווח. הפתרון הוא להשתמש בפונקציה getline

http://www.cplusplus.com/reference/iostream/istream/getline/

לגבי ה cin cout אני יודעת ואתה צודק אבל אל תשאל אותי למה,ככה החליטו ללמד אותנו,כדי "להקל" עלינו.

ולגבי ה- getline שכתבת...מה ההבדל בין זה לבין gets מהספריה (stdio.h)?

(אני לא מבינה בזה כ"כ).

פורסם

בgets אמורים להשתמש בC.

cin.getline היא המקבילה של gets עבור C++.

פורסם
  • מחבר

אוקי,תודה רבה,אתם עוזרים לי המון!!!

שאלה אחרונה לגבי הנושא...ואם אני לא יכולה למשל להשתמש ב gets ? ישנה דרך אחרת?

או שרק ככה?

פורסם

את תמיד יכולה לקרוא תו אחר תו באמצעות לולאה ו-getchar ב-C או cin.get ב-++C, שזה תכל'ס איך ש-gets ו-getline עובדים.

פורסם
  • מחבר

את תמיד יכולה לקרוא תו אחר תו באמצעות לולאה ו-getchar ב-C או cin.get ב-++C, שזה תכל'ס איך ש-gets ו-getline עובדים.

הבנתי ..

תודה :xyxthumbs:

ארכיון

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

דיונים חדשים