I am receiving a message from my mobile to my microcontroller via GSM. The message is in a char buffer, but I want to convert it to an integer as I want to perform some mathematical operations on it. I tried many functions such as atoi, toint but it's not working. Please let me know if there is any way in which I could do this conversion.

  • int x = String( chars ).toInt() works if nothing else... – dandavis Apr 21 '17 at 9:30
  • You'd better post your char buffer content here. There is a chance it might contain something can't be converted into integer. – Sener Apr 21 '17 at 10:06
  • i am only sending integer data such as 242,etc – SChati Apr 21 '17 at 10:57
  • 1
    "not working" is not an useful description of a problem. – gre_gor Apr 21 '17 at 11:32
  • atoi should have worked. If it didn't then you have some other mistake. If you'll post the code that you were using then that would make it possible for someone to try to spot the problem and help you. – Delta_G May 22 '17 at 3:36

atoi() is the simplest way:

int val = atoi(buf);

If that doesn't work then your buffer doesn't start with the number you are after. If that is the case you will have to work out where in the buffer the number is and convert just that portion. How you do that depends on what the format of the data is in your buffer.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.