printf 형식 지정 문제: uint64_t 처리
uint64_t 변수를 인쇄하려고 하면 다음과 유사한 오류 메시지가 나타날 수 있습니다. 형식의 후행 '%'입니다." 이 문제는 보편적으로 정의되지 않은 ISO C99 표준의 형식 매크로에 의존하기 때문에 발생합니다.
해결 방법은 이러한 매크로의 정의를 명시적으로 요청하는 것입니다. 수행 방법은 다음과 같습니다.
__STDC_FORMAT_MACROS 정의 설정
코드 상단에 다음 줄을 추가하세요.
#define __STDC_FORMAT_MACROS
이 정의는 PRIu64 매크로가 인식되고 사용 가능한지 확인하기 위해 필요한 형식 매크로를 포함하도록 컴파일러에 지시합니다.
이 정의가 적용되면 다음 코드가 성공적으로 컴파일됩니다.
#include <inttypes.h> #include <stdio.h> int main() { uint64_t ui64 = 90; printf("test uint64_t : %" PRIu64 "\n", ui64); return 0; }
__STDC_FORMAT_MACROS 정의를 지정하면 uint64_t 변수의 형식이 올바르게 지정되고 인쇄되어 이전에 발생한 문제를 해결할 수 있습니다.
위 내용은 내 코드가 "형식에 허위 후행 '%'"가 포함된 uint64_t를 인쇄하지 못하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!