پرش به محتوا

آموزش متغییر ها آردوینو – توابع مبدل رشته‌ (String)

در برنامه‌نویسی به‌ طیف گسترده‌‌ای از توابع String دسترسی دارید و در میان آنها، توابع مبدل جایگاهی ویژه‌‌ دارند. با استفاده‌‌ ‌از این توابع میتوان انواع داده‌ها را به رشته‌‌ (String) و بالعکس آن، تبدیل کرد. مثلا در آردوینو می‌توانید مقادیر سنسورها را بخوانید، آنها را به‌ رشته‌‌ تبدیل کرده‌‌ و سپس نمایش دهید. در ادامه‌، با این توابع آشنا خواهید شد.
آموزش متغییر ها آردوینو

در این آموزش متغییر ها آردوینو به‌ کمک 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.

اشتراک گذاری این نوشته

دانشجوی مکاترونیک هستم و در زمینه اتوماسیون و توسعه صنعت فعالیت میکنم. به اشتراک گذاری تجربیات و خورده دانشی که از الکترونیک دارم علاقمند هستم.

شاید این مطالب براتون جذاب باشه!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تماس با ما

عضویت

عضو سایت هستید؟ برای ورود کلیک کنید

ورود به حساب کاربری