¿Cuál es la diferencia entre% c y% C en printf?
-
10-07-2019 - |
Pregunta
Solo puedo encontrar referencias para pequeños c. Supongo que la C mayúscula es para Unicode, pero no estoy seguro. Para números más bajos, ambos generan el mismo carácter.
Solución
Desde MSDN:
% c
type: int or wint_t
Cuando se usa con funciones printf, especifica un carácter de un solo byte; cuando se usa con funciones wprintf, especifica un carácter ancho.
% C
type: int or wint_t
Cuando se usa con printf funciones, especifica un carácter ancho; cuando se usa con funciones wprintf, especifica un carácter de un solo byte.
más sobre los especificadores de formato aquí
Otros consejos
De MSDN
% c
Cuando se usa con funciones printf, especifica un carácter de un solo byte; cuando se usa con funciones wprintf, especifica un carácter ancho.
% C
Cuando se usa con funciones printf, especifica un carácter ancho; cuando se usa con funciones wprintf, especifica un carácter de un solo byte.
Tenga en cuenta que% C no es estándar. La conversión estándar para caracteres es:
- % c se usa para un
int
.printf
lo genera como si fuera ununsigned char
.wprintf
genera el resultado de la conversión a unwchar_t
porbtowc
. - % lc se usa para un
wint_t
.printf
genera el resultado de la conversión a una cadena multibyte porwcrtomb
.wprintf
lo genera como si fuera unwchar_t
.