> 백엔드 개발 > C++ > 본문

내 코드가 '형식에 허위 후행 '%''가 포함된 uint64_t를 인쇄하지 못하는 이유는 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-17 12:17:02
원래의
603명이 탐색했습니다.

Why Does My Code Fail to Print a uint64_t with

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿