15-04-2006, 20:38
|
|
|
|
חבר מתאריך: 20.06.03
הודעות: 5,616
|
|
ואולי קצת יותר הסבר...
itoa אינה פונקציה סטנדרטית של C (כלומר אינה שייכת ל-ANSI C) ולכן, אין לדעת אם המהדר
שהיא משתמשת בו בכלל תומך בפונקציה זו.
על מנת לבצע המרה שכזו ניתן לכתוב פונקציה כזו לבד, הנה דוגמה:
קוד:
void int2char(int i, char* c)
{
sprintf(c,"%d",i);
}
בדוגמה זו, הזנו את המספר שהיה במשתנה מסוג int למחרוזת c שקיבלנו על ידי מצביע.
הפונקציה הזו בעייתית מאחר והיא לא בודקת אם המצביע c מכיל מספיק איברים להחזיק
את i וכו, אך זו רק דוגמה.
ניתן לכתוב פונקציות יעילות יותר, בטוחות יותר (הקצאה דינמית), וכו...
|