How to convert large string to uint64 in C

1 Answer

0 votes
#include <stdio.h>
#include <ctype.h>
#include <stdint.h>

uint64_t atoi64(const char* str) {
    uint64_t result = 0;

    while (*str) {
        if (isdigit((unsigned char)*str)) {
            result *= 10;
            result += *str - '0';
            str++;
        }
        else {
            return result;
        }
    }

    return result;
}

int main(void)
{
    uint64_t n;

    n = atoi64("18446744073709551615");
    
    printf("%llu", n);

    return 0;
}






/*
run:

18446744073709551615

*/

 



answered Mar 27, 2023 by avibootz

Related questions

1 answer 108 views
1 answer 154 views
1 answer 157 views
1 answer 186 views
186 views asked Aug 5, 2022 by avibootz
1 answer 154 views
154 views asked Aug 5, 2022 by avibootz
1 answer 73 views
...