שאלת המרה פשוטה ב C

weinnir

New member
שאלת המרה פשוטה ב C

אני מנסה לקרוא const unsigned long ולהמירו ל *const char. אם זה לא ברור, אני אנסה להבהיר את הנקודה דרך מה שאני מנסה לעשות: אני מקבל פרמטר const unsigned long, לצורך העניין 1234. איך אני יכול לעשות לו cast, או פשוט להתייחס אליו כאל פוינטר ל char? תודה מראש.
 

Moridin

New member
המרה פשוטה עובדת אצלי...

// Dev-C++, using the C compiler int main(int argc, char *argv[]) { char c='c'; unsigned long l = (unsigned long)&c; printf("%c",*( (char *)l )); // outputs 'c' return 0; }​
אפשרות אחרת היא לעשות cast לפוינטר ל-const unsigned long אל פוינטר לפוינטר ל-unsigned char, ואז לעשות dereference פעמיים, אבל אני לא רואה איך זה ישפר דברים...
 

weinnir

New member
קודם כל תודה על התגובה המהירה

אך זה לא בדיוק מה שהתכוונתי אליו, אני מנסה לקרוא רצף ספרות כרצף chars, ז"א ש 1234 (Long) יהיה *char. מה שאתה נתת כאן זו מעין פעולה הדדית שלוקחת ref ומחזירה פוינטר, ככה שחוזרים לאותה הנקודה. אני מחפש משהו מקביל ל tostring. שוב תודה על תשומת הלב.
 

weinnir

New member
אוקי, סליחה על ההטרדה - מצאתי את

שחיפשתי - ltoa רוב תודות.
 

Moridin

New member
אוקיי, לא הבנתי בדיוק למה

התכוונת קודם לכן, שמח שעכשיו הכל טוב.
 
למעלה