נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: שאלה בCPP

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
אורח
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 29 March 2008 בשעה 12:02 | IP רשוּם
ציטוט אורח

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


int a = 0;
        
while(!input_file.eof()) {
                                 
 string b;    
 char i[20];
 input_file.getline(i, 20);
 getline(input_file,b);

                     if(b[a] == 'הסימן') {
                     // do bla bla..
                     }



// the code ....



a++
}

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

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 29 March 2008 בשעה 15:55 | IP רשוּם
ציטוט ניר

היי, אשמח אם תפתח משתמש בפורום ותדביק את הקודם בצורה קריאה יותר - קשה להבין מה כתבת.

ניר


__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
user
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 March 2008
משתמש: מנותק/ת
הודעות: 14
נשלח בתאריך: 29 March 2008 בשעה 16:12 | IP רשוּם
ציטוט user

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

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 29 March 2008 בשעה 16:24 | IP רשוּם
ציטוט ניר

בעזרת התג [code]

__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 29 March 2008 בשעה 16:24 | IP רשוּם
ציטוט ניר

קוד:
int a = 0;
        
while(!input_file.eof()) {
                                    
 string b;   
 char i[20];
 input_file.getline(i, 20);
 getline(input_file,b);

                     if(b[a] == 'הסימן') {
                     // do bla bla..
                     }



// the code ....



a++
}



__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 29 March 2008 בשעה 17:01 | IP רשוּם
ציטוט ניר

תדביק לנו את הקוד מסביב גם בבקשה - הפונקציה והקריאה - אני רוצה להריץ ולבדוק ואין לי את הזמן להקליד קצת :)

__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
user
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 March 2008
משתמש: מנותק/ת
הודעות: 14
נשלח בתאריך: 29 March 2008 בשעה 17:58 | IP רשוּם
ציטוט user

זה כל הקוד הרלוונטי
קוד:
                                     ifstream input_file("file.txt");  
         int a = 0;
      
while(!input_file.eof()) {
 
           string b;  
        char i[20];
        input_file.getline(i, 20);
        getline(input_file,b);
                     if(b[a] == 'סימן') {
                     // אם הוא מוצא את הסימן בשורה הוא יפסיק ויעביר את מה שהוא מצא למשתנה (כל מה שהוא מצא עד הסימן)
                    // ככה בכל שורה
                        }
a++;
 }
       


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

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 29 March 2008 בשעה 21:45 | IP רשוּם
ציטוט ניר

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

ניר


__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
user
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 March 2008
משתמש: מנותק/ת
הודעות: 14
נשלח בתאריך: 29 March 2008 בשעה 21:48 | IP רשוּם
ציטוט user

ניר כתב:
בכל שורה יש את הסימן המפריד? מה צריך לעשות אם אין אותו? האם צריך להדפיס את שני החלקים?

ניר


אממ בוא נחשוב קודם איך אני בודק אם יש אותו :)
אחר כך נראה מה יקרה אם אין אותו .
ותודה על העזרה :).
חזרה לתחילת העמוד הצג את כרטיס החבר של user חפש הודעות אחרות של user
 
user
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 March 2008
משתמש: מנותק/ת
הודעות: 14
נשלח בתאריך: 30 March 2008 בשעה 19:15 | IP רשוּם
ציטוט user

מישהו ?
חזרה לתחילת העמוד הצג את כרטיס החבר של user חפש הודעות אחרות של user
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 30 March 2008 בשעה 21:24 | IP רשוּם
ציטוט shoshan

ראה פונקציה strstr (ולוללאות פור למקרה שאתה לא  מכיר :))


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 30 March 2008 בשעה 23:09 | IP רשוּם
ציטוט ניר

בדיוק, כרגע אתה בודק רק את התו הראשון, לא את כל המחרוזת..

__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
user
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 March 2008
משתמש: מנותק/ת
הודעות: 14
נשלח בתאריך: 30 March 2008 בשעה 23:14 | IP רשוּם
ציטוט user

הצלחתי תודה ,
יש לי עוד שאלה איך אני מכניס את מה שנמצא עד התו למשתנה ?
ומה שאחריו איך ?
חזרה לתחילת העמוד הצג את כרטיס החבר של user חפש הודעות אחרות של user
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 31 March 2008 בשעה 22:05 | IP רשוּם
ציטוט shoshan

ראה memcpy (או strncpy)

__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
user
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 March 2008
משתמש: מנותק/ת
הודעות: 14
נשלח בתאריך: 31 March 2008 בשעה 22:46 | IP רשוּם
ציטוט user

ניסיתי וזה נגיד מציג
קוד:
:blabbla

עכשיו אני לא רוצה שזה יציג את ה":" איך אני מוריד אותו ?
ועוד משהו זה מציג מה שאחרי ה":" איך אני מציג מה שלפני עד הסימן?

מי שלא הבין ":" זה הסימן .
חזרה לתחילת העמוד הצג את כרטיס החבר של user חפש הודעות אחרות של user
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 01 April 2008 בשעה 00:13 | IP רשוּם
ציטוט ניר

הגדל ב-1 את מיקום התא ההתחלתי ממנו אתה מעתיק, הקטן ב-1 את גודל המחרוזת אותה אתה מעתיק, ונפטרת מהנקודותיים.


__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
user
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 March 2008
משתמש: מנותק/ת
הודעות: 14
נשלח בתאריך: 01 April 2008 בשעה 20:30 | IP רשוּם
ציטוט user

איך אני מגדיל את המיקום ההתחלתי ?
ועוד שאלה איך אני מעתיק את מה שלפני הסימן ?
חזרה לתחילת העמוד הצג את כרטיס החבר של user חפש הודעות אחרות של user
 
user
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 March 2008
משתמש: מנותק/ת
הודעות: 14
נשלח בתאריך: 01 April 2008 בשעה 20:38 | IP רשוּם
ציטוט user

הצלחתי תודה (פשוט הוספתי +1 למשתנה של הstrstr
עכשיו אני רק צריך לדעת איך אני קורא מהתחלה עד הסימן
חזרה לתחילת העמוד הצג את כרטיס החבר של user חפש הודעות אחרות של user
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 01 April 2008 בשעה 22:47 | IP רשוּם
ציטוט shoshan

אני רואה שאתה לא בדיוק קולט patterns של פעולה...

קודם העתקת מהסימן ולא היה כל כך קשה, מה שונה עכשיו ?

להעתיק מהתחלה זה אומר מ-0, וכמה להעתיק - עד הסימן שאתה יודע כמה תוים אחרי הוא מופיע.


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
user
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 March 2008
משתמש: מנותק/ת
הודעות: 14
נשלח בתאריך: 02 April 2008 בשעה 16:24 | IP רשוּם
ציטוט user

זהו שאני לא יודע אחרי כמה תווים הוא יופיע :|
יש לי את הפונקציה שבודקת אם קיים הסימן
יש את המשתנה שהוא שורה שלמה כולל הסימן כולל הכול
יש משתנה שהוא מה שבא אחרי הסימן , אבל אני לא יודע איך למצוא מה שיש עד הסימן :|
חזרה לתחילת העמוד הצג את כרטיס החבר של user חפש הודעות אחרות של user
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 02 April 2008 בשעה 16:32 | IP רשוּם
ציטוט ניר

תדביק את הקוד הנוכחי שנראה מה יש כרגע. מה לגבי לולאת FOR פשוטה שעוברת תו תו עד למציאת הסימן?

__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
user
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 March 2008
משתמש: מנותק/ת
הודעות: 14
נשלח בתאריך: 02 April 2008 בשעה 18:49 | IP רשוּם
ציטוט user

הנה הקוד
קוד:
while(!file.eof()) {
        char buf[20];
        char buf2[20];
        char i[50];
        file.getline(i, 50);
        char *p = strstr(i,":"); 

        if(p) {
       
strcpy(buf,p+1); // זה מציג לי את מה שנמצא אחרי הסימן
// מה שאני צריך זה להציג לפני הסימן
// זה יציג את כל השורה וזה לא מה שאני צריך i אם אני יציג את
           
              }


ולמה נגיד שאני עושה
i-p זה לא עובד?
חזרה לתחילת העמוד הצג את כרטיס החבר של user חפש הודעות אחרות של user
 
user
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 March 2008
משתמש: מנותק/ת
הודעות: 14
נשלח בתאריך: 03 April 2008 בשעה 18:14 | IP רשוּם
ציטוט user

מישהו ?
חזרה לתחילת העמוד הצג את כרטיס החבר של user חפש הודעות אחרות של user
 
yohai
מנהל פורומים
מנהל פורומים
סמל אישי

הצטרף / הצטרפה: 11 November 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 354
נשלח בתאריך: 03 April 2008 בשעה 19:32 | IP רשוּם
ציטוט yohai

בגלל זה יוצרים מקום דינאמי שבו תאחסן את התווים את שתגיע לסימן שאתה צריך...

וכך, בכל פעם שתצטרך להוסיף תו תמקם מחדש את כל התווים שכבר שמת פלוס התו

החדש למקום אחר בזכרון.............

מקסימום אם מדובר בבלוקים ממש גדולים ואתה לא בטוח אם תמצא מקום בזכרון לשים את כל

התווים בבלוק אחד, תמיד ניתן להשתמש ברשימה!.

חזרה לתחילת העמוד הצג את כרטיס החבר של yohai חפש הודעות אחרות של yohai בקר בדף הבית של yohai
 
user
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 March 2008
משתמש: מנותק/ת
הודעות: 14
נשלח בתאריך: 03 April 2008 בשעה 20:13 | IP רשוּם
ציטוט user

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 03 April 2008 בשעה 22:04 | IP רשוּם
ציטוט שדג

תוותר, גם אם תלמת תכנות מתכנת לא תהיה
חזרה לתחילת העמוד הצג את כרטיס החבר של שדג חפש הודעות אחרות של שדג בקר בדף הבית של שדג
 
user
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 March 2008
משתמש: מנותק/ת
הודעות: 14
נשלח בתאריך: 03 April 2008 בשעה 22:14 | IP רשוּם
ציטוט user

אתה שומע את עצמך ?
גם אם תלמד תיכנות מתכנת לא תהיה ?
אני מתחיל בC++ , אז אני לא יודע איך בגלל זה אני שואל .
אתה גם לא ידעת שהתחלת (אם אתה יודע תכנות) .
אז שב בשקט ואל תגיב.
חזרה לתחילת העמוד הצג את כרטיס החבר של user חפש הודעות אחרות של user
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה