Как вставить символ в строке в определенной позиции?

Это вызвано тем, что %llu не работает правильно в соответствии с Windows, и %d не может обработать целые числа на 64 бита. Я предлагаю использовать PRIu64 вместо этого, и Вы найдете, что это портативно к Linux также.

Попытка это вместо этого:

#include <stdio.h>
#include <inttypes.h>

int main() {
    unsigned long long int num = 285212672; //FYI: fits in 29 bits
    int normalInt = 5;
    /* NOTE: PRIu64 is a preprocessor macro and thus should go outside the quoted string. */
    printf("My number is %d bytes wide and its value is %" PRIu64 ". A normal number is %d.\n", sizeof(num), num, normalInt);
    return 0;
}

Вывод

My number is 8 bytes wide and its value is 285212672. A normal number is 5.
139
задан TylerH 16 July 2019 в 13:08
поделиться