PDA

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



Azar.099
جمعه 29 خرداد 1394, 15:07 عصر
سلام
یه قسمتی از کدم هست که باید char را به int تبدیل کنم ولی مشکل داره کار نمیکنه
مگه نمیتونیم از تابع atoi استفاده کنیم ؟؟
برای جایی هست که مثلا کاربر add(23415) را وارد میکنه
این کد :
long int np; char c[10000] = { 0 };
char *s = new char[10000];
cin >> np;


while (np-- > 0)
{
cin >> c;
if (c[0] == 'a')
{
memset(s, 0, sizeof(s));
for (int j = 4; c[j] != ')'; ++j) s[j - 4] = c[j];
long int i;
i = atoi(s);

rahnema1
جمعه 29 خرداد 1394, 15:52 عصر
سلام
به این شکل می تونید استفاده کنید

#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
char str[] = "add(23415)";
int a = atoi(str + 4);
cout << a;
}

Azar.099
جمعه 29 خرداد 1394, 16:15 عصر
سلام
به این شکل می تونید استفاده کنید

[/CPP]

خب مشکل برنامه من چیه ؟
منم که همین کارو کردم ...

rahnema1
جمعه 29 خرداد 1394, 16:18 عصر
ما که می دونیم شروع عدد از اندیس 4 هست دیگه حلقه لازم نیست بنویسیم

Azar.099
جمعه 29 خرداد 1394, 16:24 عصر
شروع عدد از اندیس چهار هست اما تا اخر که نیست ...

rahnema1
جمعه 29 خرداد 1394, 16:29 عصر
خب تابع atoi کاراکترهای اضافی را نمی خونه

Azar.099
جمعه 29 خرداد 1394, 16:42 عصر
اهان .
ممنوووون خیلیییی