در این آموزش متغییر ها آردوینو به کمک 8 تابع فوق از توابع مبدل رشته های متنی نوع String که شامل ایجاد اشارهگر از نوع رشته char، کپی رشته String در رشته char یا آرایهای از نوع Byte، تبدیل رشته به انواع متغییر عددی double, float, int، تبدیل کل کاراکترهای رشته به حروف بزرگ یا کوچک را برسی میکنیم.
جهت شرکت در دوره، آموزش جامع توابع آردوینو – Fanctions کلیک کنید.
;()c_str
شرح
این تابع مبدل رشته String، محتوای یک رشته را به نوع خاصی از یک رشته مورد استفاده در زبان سی (C-استایل) که به تهی (null) ختم میشود، تبدیل میکند. توجه داشته باشید که این تابع دسترسی مستقیم به بافر داخلی رشته را فراهم میکند و به همین خاطر باید زمان استفاده از آن احتیاط کنید.
به طور خاص، هرگز نباید رشته را از طریق اشارهگر برگشتی که به آرایه کاراکترهای رشته C-style اشاره دارد، تغییر دهید. هنگامی که شیء رشته را تغییر میدهید یا زمانیکه از بین میرود، اشاره گرهایی که قبلاً توسط ()c_str برگردانده شده است بیاعتبار خواهد بود، به این معنی که آدرس حافظه تغییر میکند و دیگر نباید از آن اشارهگر استفاده شود.
ساختار کد دستور
myString.c_str();
مولفهها
myString: یک متغییر از نوع رشته String.
مقدار بازگشتی
یک اشارهگر به نسخه C-style از رشتهی فراخوانی شده.
;()getBytes
شرح
با استفاده از این تابع مبدل رشته String، کاراکترهای یک رشته را در بافرِ مشخص شده از نوع Byte کپی میکند.
ساختار کد دستور
myString.getBytes(buf, len);
مولفهها
myString: یک متغییر از نوع String.
buf: بافری که کاراکترها درون آن کپی میشوند. (نوع داده مجاز: آرایه Byte)
len: اندازه بافر. (نوع داده مجاز: unsigned int)
مقدار بازگشتی
این تابع هیچ مقداری را برنمیگرداند.
;()toCharArray
شرح
از این تابع مبدل رشته String، برای انتقال متن رشته نوع String به نوع char استفاده میشود. تابع toCharArray کاراکترهای رشته را در بافر متغییر char به طول مشخص شده کپی میکند.
ساختار کد دستور
myString.toCharArray(buf, len);
مولفهها
myString: یک متغییر از نوع رشته String
buf: بافری که کاراکترها در آن کپی میشوند. (داده مجاز: یک آرایه از نوع char)
len: سایز بافر. (داده مجاز: unsigned int)
;()toDouble
شرح
با استفاده از این تابع مبدل رشته String، یک رشته معتبر را به یک عدد دودویی یا double تبدیل میکند. رشته ورودی باید با یک رقم شروع شود. اگر رشته حاوی کاراکتر بدون رقم باشد، تابع فرایند تبدیل را متوقف میکند.
مثال:
- رشته “123.45” به “123.45” تبدیل میشود.
- رشته “123” به “123.00” تبدیل میشود.
- رشته “123fish” به “123.00” تبدیل میشود.
همچنین، توجه داشته باشید که رشته “123.456” تقریب زده شده و به “123.46” تبدیل میشود. اعداد اعشاری (float) 6 یا هفت رقم اعشار دارند، و رشتههایی که طولانی باشند، کوتاه خواهند شد.
ساختار کد دستور
myString.toDouble();
مولفهها
myString: یک متغییر از نوع رشته String.
مقدار بازگشتی
در صورتی که فرآیند تبدیل رشته موفقیتآمیز نباشد، عدد صفر بازگشت داده میشود. (داده مجاز: double)
;()toInt
شرح
این تابع مبدل رشته String، یک رشته معتبر را به یک عدد صحیح تبدیل میکند. اما توجه داشته باشید که رشته ورودی حتما باید با یک عدد صحیح شروع شود. اگر رشته شامل اعداد غیرصحیح باشد، تبدیل متوقف شده و مقدار صفر برگردانده میشود.
ساختار کد دستور
myString.toInt();
مولفهها
myString: یک متغییر از نوع رشته String، که میخواهید به عدد صحیح تبدیل شود.
مقدار بازگشتی
اگر تبدیل با موفقیت انجام شود، عدد صحیح نهایی بازگشت داده خواهد شد.
اگر فرایند تبدیل موفقیت آمیز نباشد، یعنی رشته با عدد صحیح شروع نشده باشد، عدد صفر بازگردانده خواهد شد.
;()toFloat
شرح
از این تابع مبدل رشته String، برای تبدیل یک رشته معتبر به یک عدد اعشاری (float) استفاده میشود. رشته مورد نظر باید با یک رقم شروع شده باشد. اگر رشته حاوی کاراکترهای غیر عددی باشد، تابع کار نمیکند و فرایند تبدیل متوقف خوهد شد.
مثال:
- رشته “123.45” به “123.45” تبدیل خواهد شد.
- رشته “123” به “123.00” تبدیل خواهد شد.
- رشته “123fish” به “123.00” تبدیل خواهد شد.
همچنین، توجه داشته باشید که اعداد اعشاری یا float دارای دقت 6 تا 7 رقم اعشار هستند و اگر رشته طولانی باشد، اعداد کوتاه خواهند شد.
ساختار کد دستور
myString.toFloat();
مولفهها
myString: یک متغییر از نوع رشته String.
مقدار بازگشتی
در صورتی که فرآیند تبدیل موفقیتآمیز نباشد، یعنی رشته با رقم شروع نشده باشد، مقدار صفر بازگشت داده میشود. (نوع داده: float)
;()toLowerCase
شرح
به کمک این تابع مبدل رشته String، تمامی کاراکترهای رشته را به حروف کوچک تغییر میدهد و در همان رشته ذخیره میکند.
ساختار کد دستور
myString.toLowerCase();
مولفهها
myString: یک متغییر از نوع رشته String.
;()toUpperCase
شرح
یکی دیگر از تابع مبدل رشته String میباشد که تمامی کاراکترهای رشته را به حروف بزرگ تغییر میدهد و در همان رشته ذخیره میکند.
ساختار کد دستور
myString.toUpperCase();
مولفهها
myString: یک متغییر از نوع رشته String.