tipos sintaxis imprimir formato especificadores datos c io printf pid

imprimir - sintaxis de printf y scanf



¿Cuál es el especificador de printf correcto para imprimir pid_t? (2)

No hay tal especificador. Creo que lo que estás haciendo está bien ... podrías usar un tipo int aún más amplio, pero no hay implementación donde pid_t sea más grande que largo y probablemente nunca lo sea.

Actualmente estoy usando un molde explícito para long y usando %ld para imprimir pid_t , ¿hay algún especificador como %z para size_t para pid_t ?

Si no, ¿cuál es la mejor manera de imprimir pid_t ?


Con los tipos de enteros que carecen de un especificador de formato coincidente como en el caso de pid_t , pero con signo conocido, se pid_t a la coincidencia más amplia de tipo e impresión firmados. Si no se conoce la firma, transfórmalo al tipo sin signo más amplio.

// C99 #include <stdint.h> pid_t pid = foo(); printf("pid = %jd/n", (intmax_t) pid); // pre-C99 pid_t pid = foo(); printf("pid = %ld/n", (long) pid);