Computer >> Máy Tính >  >> Lập trình >> C ++

Viết atoi () của riêng bạn bằng C ++

Hàm atoi () trong ngôn ngữ lập trình c được sử dụng để xử lý chuyển đổi chuỗi thành số nguyên. Hàm nhận một chuỗi làm đầu vào và trả về giá trị ở kiểu số nguyên.

Cú pháp

int atoi(const char string)

Thông số được chấp nhận - Hàm atio () chấp nhận một chuỗi làm đầu vào sẽ được chuyển đổi thành số nguyên tương đương.

Loại trả lại - hàm trả về một giá trị nguyên. Giá trị sẽ là số nguyên tương đương với một chuỗi hợp lệ, nếu không sẽ trả về 0.

Thực hiện hàm atoi () -

Chúng tôi lấy từng ký tự của chuỗi và tạo thành số nguyên bằng cách cộng số với kết quả trước đó nhân với 10.

Đối với số nguyên âm, chúng tôi sẽ kiểm tra xem ký tự đầu tiên của chuỗi trong -, chúng tôi sẽ nhân kết quả cuối cùng với -1.

Chúng tôi sẽ kiểm tra một chuỗi hợp lệ bằng cách kiểm tra xem mỗi ký tự có nằm trong khoảng từ 0 đến 9.

Chương trình cho thấy việc triển khai giải pháp của chúng tôi,

Ví dụ

#include <iostream>
using namespace std;
bool isNumericChar(char x) {
   return (x >= '0' && x <= '9') ? true : false;
}
int myAtoi(char* str) {
   if (*str == '\0')
      return 0;
   int result = 0;
   int sign = 1;
   int i = 0;
   if (str[0] == '-') {
      sign = -1;
      i++;
   }
   for (; str[i] != '\0'; ++i) {
      if (isNumericChar(str[i]) == false)
         return 0;
      result = result * 10 + str[i] - '0';
   }
   return sign * result;
}
int main() {
   char string[] = "-32491841";
   int intVal = myAtoi(string);
   cout<<"The integer equivalent of the given string is "<<intVal;
   return 0;
}

Đầu ra

The integer equivalent of the given string is -32491841