שלום רב!

Dragon Eye

New member
שלום רב!

שלום שוב, איך אני יכול להכניס את ה ABC לתוך משתנה כמו בצורה הבאה:
char ABC[26]; ABC= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";​
לצערי הוא כל הזמן זורק לי שגיאה:
error C2106: '=' : left operand must be l-value​
תודה רבה!!!
 

אמיר ט

New member
דיי פשוט

אתחול של מערך ככה יכול להתבצע רק ביצירתו, כלומר :
char ABC[26] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";​
כמובן שאתה יכול לעשות גם את הדבר הבא :
char ABC[26]; strcpy(ABC, "ABCDEFGHIJKLMNOPQRSTUVWXYZ");​
 

gmorphus

New member
שים לב שבהצעה הראשונה יש גלישה.

כשאתה עושה כזה דבר אתה מנסה להעתיק 27 (!) תווים, כולל null terminator, לתוך מערך של 26 תווים. למעשה, בעוד אני כותב שורות אלה ניסיתי לקמפל את השורה, ומסתבר שהVC בככל לא מקמפל את זה.
 

gmorphus

New member
../images/Emo45.gif צודק... הנה מה שאתה צריך לעשות

(חשבתי שהוא השתמש בmemcpy) הבעיה בפתרונות שאמיר הציע היא, אם לא הבנת, שכשאתה כותב "ABC..." אז הקומפיילר מתרגם את זה למחרוזת null terminated, שזה אומר שמעבר לכל התווים בין הגרשיים יש עוד תו אחד שהוא למעשה פשוט 0 (ואם אתה עובד בUNICODE אז התו הוא '0\'). זאת אומרת, אתה הגדרת מערך של 26 תווים ובפתרונות של אמיר הוא מנסה להכניס לתוכו 27 תווים. כל מה שצריך לעשות זה זה:
memcpy(ABC, "ABCDEF...", strlen("ABCDEF..."));​
 

DNile

New member
כולכם מפספסים את הנקודה שלו.

הוא רוצה לשים מחרוזת "ABCDEFG...Z", לא סתם רצף תווים. במקום לראות איך אתם דוחפים שם את המחרוזת בלי ה0 בסוף, תראו איך אתם מסבירים לו שהוא צריך 27 בתים, ולא 26.
 

DNile

New member
אתה יודע, סלע, אני בעד להגדיר אותך

בתור "ליצן"
הפורום. נזמין אותך לימי הולדת של כל חברי הפורום והכל.. מה אתה אומר?
 

UnleashHell

New member
חחח DNile אז מה אתה?

ועכשיו ברצינות, זה נראה כאילו אתה מחפש ריב עם כל אחד פה בפורום...
 

DNile

New member
אז אני המריבן של הפורום...

ועם סלע אני ממש לא רב. זה הכל בהומור.
 

selalerer

New member
היית צריך לראות אותו לפני שהוא התגי

יס, הבחור התרכך בשנה האחרונה
 

gmorphus

New member
אני חושב שחוץ מלמנהל הפורום, צריך ל

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

gmorphus

New member
אני הסברתי מה היתה הבעיה במה שהוא

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