source

pid_t 인쇄를 위한 올바른 printf 지정자는 무엇입니까?

itover 2022. 11. 2. 21:30
반응형

pid_t 인쇄를 위한 올바른 printf 지정자는 무엇입니까?

저는 현재 명시적 캐스트를 길게 사용하고 있습니다.%ld인쇄를 위해pid_t, 다음과 같은 지정자가 있습니까?%z위해서size_t위해서pid_t?

최적의 인쇄 방법이 아닌 경우pid_t?

그런 지정자는 없습니다.지금 뭐 하시는 거예요?pid_t로.long인쇄를 하고 있습니다."%ld")도 괜찮습니다.더 넓은 int 타입을 사용할 수 있지만, 실장은 없습니다.pid_t보다 크다long아마 앞으로도 그럴 수 없을 거야

다음과 같은 경우 일치하는 형식 지정자가 없는 정수형pid_t단, 기존의1 사인니스와 함께 가장 광범위한 사인 활자와 인쇄물에 주조할 수 있습니다.

다른 시스템 유형에 대해 부호성이 불분명한 경우 부호 없는 가장 넓은 유형 또는 대체 의견을 제시합니다.

pid_t pid = foo();

// C99
#include <stdint.h>
printf("pid = %jd\n", (intmax_t) pid);

아니면

// C99
#include <stdint.h>
#include <inttypes.h>
printf("pid = %" PRIdMAX "\n", (intmax_t) pid);

아니면

// pre-C99
pid_t pid = foo();
printf("pid = %ld\n", (long) pid);

1pid_tdata type은 프로세스 ID를 나타낼 수 있는 부호 있는 정수형입니다.

언급URL : https://stackoverflow.com/questions/20533606/what-is-the-correct-printf-specifier-for-printing-pid-t

반응형