How to add a sequence of numbers in a string to an int array with C

1 Answer

0 votes
#include <stdio.h>

int AddSequenceOfNumbersInStringToIntArray(int numbers[], char str[]) {
    char* p = str;
    int pos = 0, val;

    //sscanf(const char *str, const char *format, ...) 

    int i = 0;
    while (sscanf(p, "%d %n", &val, &pos) == 1) {
        p += pos;
        numbers[i++] = val;
    }

    return i;
}

int main(void)
{
    int numbers[128] = { 0 };
    char str[] = "1 2 78 900 1029 57382";

    int size = AddSequenceOfNumbersInStringToIntArray(numbers, str);

    for (int i = 0; i < size; i++) {
        printf("%d ", numbers[i]);
    }

    return 0;
}



/*
run:

1 2 78 900 1029 57382

*/

 



answered Jul 15, 2024 by avibootz
edited Jul 15, 2024 by avibootz

Related questions

1 answer 74 views
1 answer 99 views
1 answer 81 views
...