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

נושא: המרת תו ל-int

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 15 May 2006 בשעה 17:27 | IP רשוּם
ציטוט efrat

שלום! מישהו יודע איך ממירים תו (charactar, כמו 'x') ל- int?

תודה!

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 15 May 2006 בשעה 17:30 | IP רשוּם
ציטוט אורח

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 15 May 2006 בשעה 17:30 | IP רשוּם
ציטוט efrat

C
חזרה לתחילת העמוד הצג את כרטיס החבר של efrat חפש הודעות אחרות של efrat בקר בדף הבית של efrat
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 15 May 2006 בשעה 18:12 | IP רשוּם
ציטוט אלצ'קו

i = (int) c; /* ? */‎
חזרה לתחילת העמוד הצג את כרטיס החבר של אלצ'קו חפש הודעות אחרות של אלצ'קו
 
AC-Milan
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 27 July 2005
משתמש: מנותק/ת
הודעות: 176
נשלח בתאריך: 15 May 2006 בשעה 20:16 | IP רשוּם
ציטוט AC-Milan

קוד:

#include <stdio.h>
int main()
{
char achar='1';
atoi(&achar);
return 0;
}

חזרה לתחילת העמוד הצג את כרטיס החבר של AC-Milan חפש הודעות אחרות של AC-Milan
 
daNN-
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 18 May 2006 בשעה 21:20 | IP רשוּם
ציטוט daNN-

אלצ'קו כתב:
i = (int) c; /* ? */‎

you cant do that.. char and int got diffrent bases..
Try to run it, ull see what i mean
חזרה לתחילת העמוד הצג את כרטיס החבר של daNN- חפש הודעות אחרות של daNN- בקר בדף הבית של daNN-
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 18 May 2006 בשעה 23:09 | IP רשוּם
ציטוט אלצ'קו

atoi ימיר מספר ששמור כמחרוזת ל-int.
לגבי תו כמו 'x' זה חסר משמעות, ולכן ההנחה שלי הייתה שהוא רוצה לעשות קאסטינג. קאסטינג עושים כמו שבתבתי. הרצתי והכל פועל מצויין. התוצאה כמובן חסרת משמעות, אבל זו הייתה השאלה.
חזרה לתחילת העמוד הצג את כרטיס החבר של אלצ'קו חפש הודעות אחרות של אלצ'קו
 
daNN
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 19 May 2006 בשעה 21:11 | IP רשוּם
ציטוט daNN

אלצ'קו כתב:
atoi ימיר מספר ששמור כמחרוזת ל-int.
לגבי תו כמו 'x' זה חסר משמעות, ולכן ההנחה שלי הייתה שהוא רוצה לעשות קאסטינג. קאסטינג עושים כמו שבתבתי. הרצתי והכל פועל מצויין. התוצאה כמובן חסרת משמעות, אבל זו הייתה השאלה.

you can convert a single char with the atoi function..
just make a simple char var..
חזרה לתחילת העמוד הצג את כרטיס החבר של daNN חפש הודעות אחרות של daNN בקר בדף הבית של daNN
 
מישו
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 20 May 2006 בשעה 01:18 | IP רשוּם
ציטוט מישו

daNN כתב:
אלצ'קו כתב:
atoi ימיר מספר ששמור כמחרוזת ל-int.
לגבי תו כמו 'x' זה חסר משמעות, ולכן ההנחה שלי הייתה שהוא רוצה לעשות קאסטינג. קאסטינג עושים כמו שבתבתי. הרצתי והכל פועל מצויין. התוצאה כמובן חסרת משמעות, אבל זו הייתה השאלה.

you can convert a single char with the atoi function..
just make a simple char var..


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

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

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 21 May 2006 בשעה 20:06 | IP רשוּם
ציטוט אלצ'קו

כפי ש"מישו" אמר: atoi מקבל מחרוזת, שהתוכן שלה הוא מספר, ומחזיר את המספר עצמו. אם התוכן איננו מספר, atoi יחזיר אפס. נסה קוד בסגנון:
קוד:
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
    char c = 'x';
    int i = atoi(&c);
    printf("%d\n", &i);
    return 0;
}

(לא קומפל, ככה שזהירות משגיאות קטנות)
חזרה לתחילת העמוד הצג את כרטיס החבר של אלצ'קו חפש הודעות אחרות של אלצ'קו
 
Fate
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 25 October 2005
משתמש: מנותק/ת
הודעות: 571
נשלח בתאריך: 24 May 2006 בשעה 21:48 | IP רשוּם
ציטוט Fate

אתה יודע שהוא הולך לסרוק לך את הזיכרון עד שיתקל בתו שהוא \0 אחרי הX...
אם אתה רוצה מחרוזת בעלת תו אחד אז זה חייב להיות char c[2]...
וc[1] = '\0';
חזרה לתחילת העמוד הצג את כרטיס החבר של Fate חפש הודעות אחרות של Fate
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 13 August 2006 בשעה 01:13 | IP רשוּם
ציטוט אלצ'קו

כ'ה. הכוונה שלי הייתה:
קוד:
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
    char s[] = "x";
    int i = atoi(s);
    printf("%d\n", i);
    return 0;
}


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

הצטרף / הצטרפה: 26 May 2006
מדינה: Israel
משתמש: מנותק/ת
הודעות: 103
נשלח בתאריך: 13 August 2006 בשעה 09:39 | IP רשוּם
ציטוט yiag

בקיצור

אם אתה רוצה לקבל את הASCII של תו תכתוב i=(int)c

אם אתה רוצה את הערך שכתוב בו כלומר ש'1' יהפוך ל1 '2' ל2 וכו', תשתמש בatoi

חזרה לתחילת העמוד הצג את כרטיס החבר של yiag חפש הודעות אחרות של yiag
 
אלצ'קו
אחראי פורומים
אחראי פורומים
סמל אישי
ג2ר פ33תי

הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת
הודעות: 609
נשלח בתאריך: 13 August 2006 בשעה 10:31 | IP רשוּם
ציטוט אלצ'קו

לא כל כך הכרחי, הרי מה ששמור במשתנה מטיפוס char זה כבר קוד ה-ASCII. פשוט כשאתה פולט מחרוזת ב-printf כ-"‎%s" הוא מפרש את קודי ה-ASCII ומדפיס את התווים התואמים. אם תדפיס char בעזרת printf והקוד "‎%d" (אותו אחד שהיית משתמש בו עבור ה-int) תקבל את אותו קוד ASCII...

הנה קוד (שבאמת פועל) שמדגים את זה:

קוד:
#include <stdio.h>

int main(void)
{
    char s[] = "hello world!";
    int i;

    for (i=0; s; i++)
    {
        printf("%c", s);
    }
    printf("\n");

    for (i=0; s; i++)
    {
        printf("%d - %c\n", s, s);
    }
    printf("\n");

    return 0;
}

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

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

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

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