PDA

View Full Version : تبدیل string بهinteger



zo_se1386
شنبه 31 فروردین 1387, 20:34 عصر
سلام
می خواستم بدونم تابعی وجود داره که string رو به integer تبدیل کنه؟(از طریق کداسکی بلدم،یه تابع میخوام)

حمیدرضاصادقیان
شنبه 31 فروردین 1387, 20:52 عصر
در دلفی تابعی با نام Strtoint وجود داره که حتی میتونی از StrtoIntDef هم استفاده کنی.
احتمال زیاد این توابع در C++ Builder هم کارایی خواهند داشت.

Nima_NF
یک شنبه 01 اردیبهشت 1387, 13:36 عصر
علاوه بر StrToInt که در بالا ذکر شد می توانید از توابع استاندارد C نیز استفاده کنید.

atoi و atol برای تبدیل رشته به int و long / تابع strtod برای تبدیل به double:



#include <stdlib.h>

char *str = "530";
int num = atoi( str );

_alish_
یک شنبه 01 اردیبهشت 1387, 13:40 عصر
Number.toStr() Str.toString()

_alish_
یک شنبه 01 اردیبهشت 1387, 13:47 عصر
Number.toStr() Str.toString()

zo_se1386
یک شنبه 01 اردیبهشت 1387, 14:06 عصر
باتشکر.یه سوال دیگه هم داشتم :
char*st="hello"; st[1]='b'; 0
سوالم اینه که فضای خالیش (کلاس حافظه اش) کجاست؟درکل string ای که به pointer فرستاده میشود ،کلاس حافظه اش کجاست واین چه جورحافظه ایست که نه میشه تغییرش داد و نه بهش مقدار؟

zo_se1386
یک شنبه 01 اردیبهشت 1387, 14:43 عصر
با تشکر از مدیربخش
میخواستم عدد رو ازورودی بگیرم(به جای 530)ولی errorمیده ،چه جوری میتونم errorرابرطرف کنم؟

Nima_NF
یک شنبه 01 اردیبهشت 1387, 17:35 عصر
وقتی رشته را به شکل فوق می نویسی د رشته مورد نظر به شکل const ذخیره می شود (char* آدرس را نگه می دارد) و البته این امکان وجود دارد که رشته دیگری را مساوی آن قرار دهید، که می تواند در هر جای حافظه ذخیره شود، پس رشته را به شکل زیر با تعداد محدود تعریف کنید:



char str[12] = "530";

و یا اگر از حافظه پویا:



char *str;

str = new char[12];