logo

تحويل السلسلة إلى عدد صحيح في C++

سيناقش هذا القسم الطرق المختلفة لتحويل بيانات السلسلة المعطاة إلى عدد صحيح باستخدام لغة البرمجة C++. هناك بعض المواقف أو الحالات التي نحتاج فيها إلى تحويل بيانات معينة إلى نوع آخر، وأحد هذه المواقف هو تحويل بيانات السلسلة إلى بيانات int في البرمجة.

على سبيل المثال، لدينا سلسلة رقمية باسم ' 143 '، ونريد تحويله إلى نوع رقمي. نحن بحاجة إلى استخدام دالة تقوم بتحويل سلسلة إلى عدد صحيح وإرجاع البيانات الرقمية كـ 143. الآن، سوف نتعلم كل طريقة تساعد في تحويل بيانات السلسلة إلى أعداد صحيحة في لغة برمجة C++.

تحويل السلسلة إلى عدد صحيح في C++

طرق مختلفة لتحويل بيانات السلسلة إلى أعداد صحيحة في لغة البرمجة C++.

  1. باستخدام فئة stringstream
  2. باستخدام الدالة stoi()
  3. باستخدام الدالة atoi()
  4. باستخدام الدالة sscanf()

باستخدام فئة stringstream

ال com.stringstream هي فئة تستخدم لتحويل سلسلة رقمية إلى نوع int. تعلن فئة stringstream عن كائن دفق لإدراج سلسلة ككائن دفق ثم تقوم باستخراج البيانات الصحيحة المحولة بناءً على التدفقات. تحتوي فئة stringstream على عوامل التشغيل '<>'، والتي تُستخدم لجلب البيانات من عامل التشغيل الأيسر (<>).

لنقم بإنشاء برنامج لتوضيح فئة stringstream لتحويل بيانات السلسلة إلى عدد صحيح في لغة البرمجة C++.

آلة الدولة المحدودة

Program1.cpp

 #include #include // use stringstream class using namespace std; int main() { string str1 = &apos;143&apos;; // declare a string int intdata; // declare integer variable /* use stringstream class to declare a stream object to insert a string and then fetch as integer type data. */ stringstream obj; obj &lt;&gt; intdata; // fetch integer type data cout &lt;&lt; &apos; The string value is: &apos; &lt;&lt; str1 &lt;&lt; endl; cout &lt;&lt; &apos; The representation of the string to integer type data is: &apos; &lt;&lt; intdata &lt;&lt; endl; return 0; } 

انتاج |

 The string value is: 143 The representation of the string to integer type data is: 143 

في البرنامج أعلاه، نستخدم فئة stringstream لإنشاء كائن obj، ويساعد على تحويل بيانات السلسلة إلى عدد صحيح. نستخدم بعد ذلك عامل التشغيل '<>' لاستخراج السلسلة المحولة من obj إلى بيانات رقمية.

باستخدام الدالة sscanf()

تقوم الدالة sscanf() بتحويل سلسلة معينة إلى نوع بيانات محدد مثل عدد صحيح.

بناء الجملة

مجموعة سلسلة جافا
 sccanf ( str, %d, &amp;intvar); 

تحتوي الدالة sscanf() على ثلاث وسائط لتحديد سلسلة الأحرف (str)، ومحدد البيانات (%d)، والمتغير الصحيح (&intvar) لتخزين السلسلة المحولة.

خوارزمية الدالة sscanf()

  1. تنتمي الدالة sscanf() إلى فئة stringstream، لذلك نحتاج إلى استيراد الفئة إلى برنامجنا.
  2. تهيئة سلسلة أحرف ثابتة str.
  3. قم بإنشاء متغير عدد صحيح للاحتفاظ بالسلسلة المحولة إلى قيم عددية.
  4. قم بتمرير متغير السلسلة إلى الدالة sscanf()، ثم قم بتعيين الدالة sscanf() إلى المتغير الصحيح لتخزين قيمة العدد الصحيح التي تم إنشاؤها بواسطة الدالة.
  5. طباعة القيم الصحيحة.

لنفكر في مثال لاستخدام الدالة sscanf() لتحويل السلسلة إلى رقم رقمي في C++.

Program2.cpp

 #include #include // use stringstream class using namespace std; int main () { // declare the character strings const char *str1 = &apos;555&apos;; const char *str2 = &apos;143&apos;; const char *str3 = &apos;101&apos;; // declare the integer variables int numdata1; int numdata2; int numdata3; /* use sscanf() function and to pass the character string str1, and an integer variable to hold the string. */ sscanf (str1, &apos;%d&apos;, &amp;numdata1); cout &lt;<' the value of character string is: ' << str1; cout '
 representation to int numdata1 <<endl; sscanf (str2, '%d', &numdata2); <<'
 str2; numdata2 (str3, &numdata3); str3; numdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The value of the character string is: 555 The representation of string to int value of numdata is: 555 The value of the character string is: 143 The representation of string to int value of numdata is: 143 The value of the character string is: 101 The representation of string to int value of numdata is: 101 </pre> <h3>Using the stoi() function</h3> <p>The stoi() function converts a string data to an integer type by passing the string as a parameter to return an integer value.</p> <p> <strong>Syntax</strong> </p> <pre> stoi(str); </pre> <p>The stoi() function contains an str argument. The str string is passed inside the stoi() function to convert string data into an integer value.</p> <p> <strong>Algorithm of the stoi() function</strong> </p> <ol class="points"> <li>Initialize the string variable to store string values.</li> <li>After that, it creates an integer type variable that stores the conversion of string into integer type data using the stoi() function.</li> <li>Print the integer variable value.</li> </ol> <p>Let&apos;s create a program to use the stoi() function to convert the string value into the integer type in the C++ programming language.</p> <p> <strong>Program3.cpp</strong> </p> <pre> #include #include using namespace std; int main () { string strdata1 = &apos;108&apos;; string strdata2 = &apos;56.78&apos;; string strdata3 = &apos;578 Welcome&apos;; // use stoi() function to pass string as arguments int intdata1 = stoi (strdata1); int intdata2 = stoi (strdata2); int intdata3 = stoi (strdata3); // print the converted values cout &lt;&lt; &apos; The conversion of string to an integer using stoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<endl; cout << ' the conversion of string to an integer using stoi(\'' strdata2 '\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer using stoi(&apos;108&apos;) is 108 The conversion of string to an integer using stoi(&apos;56.78&apos;) is 56 The conversion of string to an integer using stoi(&apos;578 Welcome&apos;) is 578 </pre> <h3>Using the atoi() function</h3> <p>An atoi() function is used to convert the character string into an integer value. An atoi() function passes the character type string to return the integer data.</p> <p> <strong>Syntax</strong> </p> <pre> atoi (const char *str); </pre> <p> <strong>Algorithm of the atoi() function</strong> </p> <ol class="points"> <li>Initialize a pointer-type character array to store a string.</li> <li>After that, it creates an integer type variable that stores the conversion of string into integer type data using the atoi() function.</li> <li>Print the integer variable value.</li> </ol> <p>Let&apos;s create a program to use the atoi() function to convert the string value into the integer type in the C++ programming language.</p> <p> <strong>Program4.cpp</strong> </p> <pre> #include #include using namespace std; int main () { // declare a constant character array of string const char *strdata1 = &apos;256&apos;; const char *strdata2 = &apos;16.18&apos;; const char *strdata3 = &apos;1088 Good Bye&apos;; // use atoi() function to pass character type array as arguments int intdata1 = atoi (strdata1); int intdata2 = atoi (strdata2); int intdata3 = atoi (strdata3); // print the converted values cout &lt;&lt; &apos; The conversion of string to an integer value using atoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<endl; cout << ' the conversion of string to an integer value using atoi(\'' strdata2 '\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer value using atoi(&apos;256&apos;) is 256 The conversion of string to an integer value using atoi(&apos;16.18&apos;) is 16 The conversion of string to an integer value using atoi(&apos;1088 Good Bye&apos;) is 1088 </pre> <hr></endl;></pre></endl;></pre></'>

باستخدام الدالة stoi()

تقوم الدالة stoi() بتحويل بيانات السلسلة إلى نوع عدد صحيح عن طريق تمرير السلسلة كمعلمة لإرجاع قيمة عددية.

بناء الجملة

 stoi(str); 

تحتوي الدالة stoi() على وسيطة str. يتم تمرير السلسلة النصية داخل الدالة stoi() لتحويل بيانات السلسلة إلى قيمة عددية.

خوارزمية الدالة stoi()

  1. تهيئة متغير السلسلة لتخزين قيم السلسلة.
  2. بعد ذلك، يقوم بإنشاء متغير من النوع الصحيح الذي يخزن تحويل السلسلة إلى بيانات من النوع الصحيح باستخدام الدالة stoi().
  3. طباعة قيمة المتغير الصحيح.

لنقم بإنشاء برنامج لاستخدام الدالة stoi() لتحويل قيمة السلسلة إلى النوع الصحيح في لغة البرمجة C++.

Program3.cpp

 #include #include using namespace std; int main () { string strdata1 = &apos;108&apos;; string strdata2 = &apos;56.78&apos;; string strdata3 = &apos;578 Welcome&apos;; // use stoi() function to pass string as arguments int intdata1 = stoi (strdata1); int intdata2 = stoi (strdata2); int intdata3 = stoi (strdata3); // print the converted values cout &lt;&lt; &apos; The conversion of string to an integer using stoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<endl; cout << \' the conversion of string to an integer using stoi(\'\' strdata2 \'\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer using stoi(&apos;108&apos;) is 108 The conversion of string to an integer using stoi(&apos;56.78&apos;) is 56 The conversion of string to an integer using stoi(&apos;578 Welcome&apos;) is 578 </pre> <h3>Using the atoi() function</h3> <p>An atoi() function is used to convert the character string into an integer value. An atoi() function passes the character type string to return the integer data.</p> <p> <strong>Syntax</strong> </p> <pre> atoi (const char *str); </pre> <p> <strong>Algorithm of the atoi() function</strong> </p> <ol class="points"> <li>Initialize a pointer-type character array to store a string.</li> <li>After that, it creates an integer type variable that stores the conversion of string into integer type data using the atoi() function.</li> <li>Print the integer variable value.</li> </ol> <p>Let&apos;s create a program to use the atoi() function to convert the string value into the integer type in the C++ programming language.</p> <p> <strong>Program4.cpp</strong> </p> <pre> #include #include using namespace std; int main () { // declare a constant character array of string const char *strdata1 = &apos;256&apos;; const char *strdata2 = &apos;16.18&apos;; const char *strdata3 = &apos;1088 Good Bye&apos;; // use atoi() function to pass character type array as arguments int intdata1 = atoi (strdata1); int intdata2 = atoi (strdata2); int intdata3 = atoi (strdata3); // print the converted values cout &lt;&lt; &apos; The conversion of string to an integer value using atoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<endl; cout << \' the conversion of string to an integer value using atoi(\'\' strdata2 \'\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer value using atoi(&apos;256&apos;) is 256 The conversion of string to an integer value using atoi(&apos;16.18&apos;) is 16 The conversion of string to an integer value using atoi(&apos;1088 Good Bye&apos;) is 1088 </pre> <hr></endl;></pre></endl;>

باستخدام الدالة atoi()

يتم استخدام الدالة atoi() لتحويل سلسلة الأحرف إلى قيمة عددية. تقوم الدالة atoi() بتمرير سلسلة نوع الحرف لإرجاع البيانات الصحيحة.

خوارزمية جدولة جولة روبن

بناء الجملة

 atoi (const char *str); 

خوارزمية الدالة atoi()

  1. تهيئة مصفوفة أحرف من نوع المؤشر لتخزين سلسلة.
  2. بعد ذلك، يقوم بإنشاء متغير من النوع الصحيح الذي يخزن تحويل السلسلة إلى بيانات من النوع الصحيح باستخدام الدالة atoi().
  3. طباعة قيمة المتغير الصحيح.

لنقم بإنشاء برنامج لاستخدام الدالة atoi() لتحويل قيمة السلسلة إلى النوع الصحيح في لغة البرمجة C++.

Program4.cpp

 #include #include using namespace std; int main () { // declare a constant character array of string const char *strdata1 = &apos;256&apos;; const char *strdata2 = &apos;16.18&apos;; const char *strdata3 = &apos;1088 Good Bye&apos;; // use atoi() function to pass character type array as arguments int intdata1 = atoi (strdata1); int intdata2 = atoi (strdata2); int intdata3 = atoi (strdata3); // print the converted values cout &lt;&lt; &apos; The conversion of string to an integer value using atoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<endl; cout << \' the conversion of string to an integer value using atoi(\'\' strdata2 \'\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer value using atoi(&apos;256&apos;) is 256 The conversion of string to an integer value using atoi(&apos;16.18&apos;) is 16 The conversion of string to an integer value using atoi(&apos;1088 Good Bye&apos;) is 1088 </pre> <hr></endl;>