PDA

View Full Version : مبتدی: تبدیل char به int



smemamian
یک شنبه 08 بهمن 1391, 01:44 صبح
سلام دوستان

من عددی رو داخل متغییری از نوع char وارد می کنم چطوری
می تونم عدد رو وارد یک متغییر مثلا int بریزم ؟

Behnam.B
یک شنبه 08 بهمن 1391, 12:46 عصر
سلام. با این تابع میشه کاری رو که می خواید انجام داد::لبخندساده:

int char2int(char str[]){
int i=0, ans=0 ,sign=1;
if(str[0] == '-'){
i = 1;
sign = -1;
}else if (str[0] == '+')
i = 1;

for(; str[i]; i++)
if (str[i]>='0' && str[i]<='9')
ans = ans * 10 + (str[i] - '0');
else return 0;

return(ans * sign);
}

توجه کنید که '0' همان 48 (کد اسکی صفر) است.

dj_dj_dj
یک شنبه 08 بهمن 1391, 23:18 عصر
اگه اشتباه نکنم با تابع atoi هم بشه این کارو کرد.برای مثال
int x = atoi(str[1])

که داخل هدر فایل stdlib.h موجوده

smemamian
دوشنبه 09 بهمن 1391, 00:36 صبح
بله با atoi انجام دادم .