I have a char* array which looks like this "T 20" and I'd like to extract the "20" and convert it in to an integer. I was thinking of using atoi() but it seems that function will operate on the entire string, not just the bits I want. Memory is a bit tight so is there a function similar to atoi() which allows you to specify which charters to operate on?
1 Answer
How about
char array[5] = "T 20";
int num = atoi(array+2);
This obviously assumes that all your strings are of the same format "A NN"
. If not, you can try parsing it using strtok()
. See this excellent answer.