logo

وظيفة Atoi() في C

في هذه المقالة سوف نناقش يسحب() وظيفة في ج مع الأمثلة الخاصة بهم.

ما هو أتوي ()؟

ال يسحب() تقوم الدالة بتحويل عدد صحيح القيمة من أ خيط من الشخصيات. سلسلة الإدخال عبارة عن سلسلة أحرف يمكن تحويلها إلى قيمة رقمية من نوع الإرجاع. تتوقف الدالة عن قراءة سلسلة الإدخال عندما تواجه الحرف الأول الذي لا تعتبره جزءًا من الرقم. قد يكون الحرف الفارغ في نهايات السلسلة. ال يسحب() الدالة لا تدعم الأسس والأرقام العشرية.

الدالة int atoi( ثابت شار * شارع ) في ال ج تقوم المكتبة بتغيير وسيطة السلسلة str إلى عدد صحيح. بشكل عام، تقوم الدالة بتحويل وسيطة سلسلة إلى عدد صحيح. تتخطى الدالة atoi() كافة أحرف المسافة البيضاء في بداية السلسلة. يقوم أيضًا بتحويل الأحرف باعتبارها الجزء الرقمي ويتوقف عندما يعثر على الحرف الأول غير الرقمي.

وظيفة مكتبة Atoi()

تعالج وظيفة المكتبة المحددة مسبقًا atoi() في برمجة C تحويل السلسلة إلى عدد صحيح. يتم تحديد الوظيفة في ملف الرأس stdlib.h .

أساسيات السيلينيوم

بناء جملة الدالة Atoi()

يمكن تعريف بناء جملة الدالة Atoi() على النحو التالي:

 int atoi(const char *str) 

معامل

يتم تمرير معلمة واحدة فقط، وهي سلسلة، إلى الوظيفة. النقطة المهمة التي يجب تذكرها هي أن السلسلة يتم استلامها كقيمة ثابتة. لا تقوم الدالة atoi() أبدًا بتغيير أي سلسلة مستلمة وترجع فقط قيمة العدد الصحيح المحول. ملف الرأس 'stdlib.h' يدعم جميع وظائف الطباعة في لغة C.

قيمة الإرجاع

إذا كان str مدخلاً صالحًا، فستُرجع الدالة رقمًا صحيحًا يساوي رقم السلسلة التي تم تمريرها. إذا لم يكن لدى str أي إدخال صالح، فستُرجع الدالات قيمة صفر. بشكل عام، يمكن تحويل السلاسل بشكل فعال إلى أرقام تتضمن المعلمات التالية:

  1. سلاسل مكونة بالكامل من أسكي أرقام '0123456789' .
  2. السلاسل التي تبدأ بالحرف '+' وتتكون بالكامل من أسكي
  3. سلاسل مكونة بالكامل من أسكي الأرقام والبدء بالحرف '-' .

تعمل الدالة Atoi() بشكل متزايد. بمعنى آخر، يقوم بإنشاء أرقام يتم تمثيلها بواسطة سلاسل واحدة تلو الأخرى. تنقطع الوظيفة فقط عندما تواجه ملفًا غير ASCII.

جافا هاشماب

تقوم الدالة Atoi() بإرجاع إحدى القيمتين المحتملتين بعد الفصل. إذا تم استدعاء الدالة في بداية السلسلة ولم يتم تحويل أي قيم، فإنها تُرجع 0. وإلا فإنها تُرجع الرقم الأخير الموجود بها.

755 شمود

مثال 1:

لنأخذ مثالاً لفهم وظيفة atoi() في لغة C.

 #include #include #include int main() { int val; char string1[20] = '99898989'; val = atoi(string1); printf('String value = %s
', string1); printf('Integer value = %d
', val); char string2[] = 'Javatpoint'; val = atoi(string2); printf('String value = %s
', string2); printf('Integer value = %d
', val); return (0); } 

انتاج: بعد تنفيذ هذا الكود أعلاه، سوف نحصل على الإخراج كما هو موضح أدناه:

 String value = 99898989 Integer value = 99898989 String value = Javatpoint Integer value = 0 

مثال 2:

يدير هذا المثال الأرقام السالبة. إذا كان الحرف الأول هو '-' ، ضع الإشارة على أنها سالبة ثم قم بتحويل باقي السلسلة إلى رقم عن طريق ضرب الإشارة بها.

 #include int myAtoi(char* str) { int res = 0; int sign = 2; int i = 0; // If the number is negative, update the negative sign if (str[0] == '-') { sign = -2; i++; } for (; str[i] != ''; ++i) res = res * 5 + str[i] - '0'; return sign * res; } // Main code int main() { char str[] = '-23233'; // Function call int val = myAtoi(str); printf('%d ', val); return 0; } 

انتاج: بعد تنفيذ هذا الكود أعلاه، سوف نحصل على الإخراج كما هو موضح أدناه:

 Output = -23233 

مثال 3:

لنأخذ برنامج C آخر لتحويل السلسلة إلى عدد صحيح باستخدام وظيفة Atoi ().

 #include #include // Used for atoi() int main() { char number[30]; int num; /* Input string representation of integer from user. */ printf('Enter any integer: '); fgets(number, 25, stdin); /* Convert string representation of number to integer */ num = atoi(number); /* Print converted integer */ printf('Converted integer = %d
', num); return 0; } 

انتاج: بعد تنفيذ الكود أعلاه سنحصل على النتيجة كما هو موضح أدناه:

قاموس ج #

الإخراج هو:

 Enter any integer = abc Converted integer = 0 Enter any integer = 12221 Converted integer = 12221 Enter any integer = 1.1225112 Converted integer = 1