שאלה ב-C. pointers &strings

bluescreen

New member
שאלה ב-C. pointers &strings

שלום לכולם, אני מצרף מימוש אפשרי של הפונקציה strcpy. הוא עף אצלי בשורה ++p++ = *s2 האם מישהו יוכל להסביר לי למה. האם אצל מישהו זה כן עובד? דוגמאות דומות אפשר למצוא בכל textbook. תודה מראש.
 

bluescreen

New member
הקלט בגוף התכנית

הקלט לפונקציה בא מ-main, דהיינו: aaaaaaa ו- plaintext תודה על התשובה המהירה,
 

selalerer

New member
אתה מנסה להעתיק לתוך מחרוזת סטטית.

הפונקציה בסדר (בערך) אבל אתה לא יכול לעתיק אל תוך מקום שהוקצה בצורה כזאת. כאשר אתה כותב מחרוזת סטטית בקוד, כמו:
"blablabla"​
אז המחרוזת הזאת יכולה להיות אפילו בsegment קוד של התוכנית (זה תלוי במימוש הקומפיילר) ולשם רוב מערכות ההפעלה מונעות ממך לכתוב. תנסה להקצות בצורה כזאת:
char str[]="dfbfldkgjdlskgj";​
או פשוט:
char str1[234];​
ואז זה עושה לך מחרוזת בsegment מידע (data
) ולשם אתה יכול לכתוב.
 

vinney

Well-known member
"בערך" ../images/Emo6.gif אתה עדין ../images/Emo13.gif

פונקציה מועדת לפורענות, חצי מהנקודות יעופו לעזעזל בגלל בדיקת תקינות מינימלית שהוא לא עשה!
 

selalerer

New member
../images/Emo3.gif אם אתה זהיר איתה, היא יכולה לעש

ות את העבודה
 

bluescreen

New member
תודה תודה, זה עובד. כמו כן...

חברים, אל תהיו קשוחים אתי...
כמובן שעכשיו נוסיף את הקישוטים.
 

selalerer

New member
הם קישוטים עבור מדענים ופילוסופים,

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

bluescreen

New member
הערה מעניינת

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

selalerer

New member
אז אתה צריך לפתח את הרעיון ואת האלג

וריתמים ולזרוק את העבודה השחורה על איזה עובד היי-טק שחור
 
למעלה