Al imprimir un solo carácter en un programa C, ¿debo usar "% 1s" en la cadena de formato? ¿Puedo usar algo como "% c"?Caracteres individuales de salida en C
Respuesta
sí, %c
imprimirá un solo carácter:
printf("%c", 'h');
también, putchar
/putc
también funcionará. De "hombre putchar":
#include <stdio.h>
int fputc(int c, FILE *stream);
int putc(int c, FILE *stream);
int putchar(int c);
* fputc() writes the character c, cast to an unsigned char, to stream.
* putc() is equivalent to fputc() except that it may be implemented as a macro which evaluates stream more than once.
* putchar(c); is equivalent to putc(c,stdout).
EDIT:
También tenga en cuenta, que si usted tiene una cadena, a la salida de un solo carbón, es necesario obtener el carácter de la cadena que desea emitir. Por ejemplo:
const char *h = "hello world";
printf("%c\n", h[4]); /* outputs an 'o' character */
Como se mencionó en una de las otras respuestas, puede utilizar putc (int c, flujo FILE *), putchar (int c) o fputc (int c, ARCHIVO * transmisión) para este propósito.
Lo que es importante tener en cuenta es que el uso de cualquiera de las funciones anteriores es de algunos a significativamente más rápido que el uso de cualquiera de las funciones de análisis de formato como printf.
Usar printf es como usar una ametralladora para disparar una bala.
'printf()' para solo char, es como comprar un libro para obtener un pedazo de papel. – exebook
Tenga cuidado de diferencia entre 'c'
y "c"
'c'
es un char adecuado para formatear con% c
"c"
es un char * que apunta a un bloque de memoria con una longitud de 2 (con el terminador nulo)
Técnicamente, "c" es un char * con una longitud de 4 (o cualquiera que sea el tamaño de tu puntero) que apunta a un bloque de memoria con 2 caracteres ('c' y '\ 0'). Pero eso es solo ser pedante. – paxdiablo
Agregó una breve nota que "c" es un puntero. –
char variable = 'x'; // the variable is a char whose value is lowercase x
printf("<%c>", variable); // print it with angle brackets around the character
- 1. División de cadena en caracteres individuales
- 2. cómo iterar caracteres individuales en Lua string?
- 3. C++ y printf: salida de caracteres extraños
- 4. dividir una cadena en caracteres individuales en SQL Server 2005
- 5. Tesseract no reconoce los caracteres individuales
- 6. ¿Utiliza la alternancia o la clase de caracteres para la coincidencia de caracteres individuales?
- 7. zsh en Emacs caracteres basura salida
- 8. Eliminando caracteres de la salida de grep
- 9. concatene cadena de caracteres en C++
- 10. de caracteres UTF8 decodificación en C Objetivo
- 11. C# UTF8 Lectura/Salida
- 12. Salida de color en C++
- 13. Formato de salida en C++
- 14. funciones de salida en C
- 15. Prevenir la anulación de métodos individuales en C#
- 16. Salida de los primeros 100 caracteres en una cadena
- 17. ¿Cómo dividir un número en dígitos individuales en C#?
- 18. Separar cadena en una matriz de caracteres en C++
- 19. Separar una cadena en la matriz de cadenas de caracteres individuales
- 20. BASH: Obtener los últimos 4 caracteres de salida de salida estándar, en línea
- 21. ¿Cómo determino eficientemente el palindrome de caracteres individuales más largo en una cadena dada?
- 22. Caracteres no ASCII en C
- 23. ¿Por qué este programa C imprime caracteres extraños en la salida?
- 24. cout (salida estándar) en C++
- 25. C++ vector de matriz de caracteres
- 26. ¿Cómo puedo detectar onclick() o similar para caracteres individuales en un texto?
- 27. ¿Cómo se usa atoi para asignar elementos individuales de una matriz de caracteres?
- 28. La mejor manera de obtener dígitos individuales de int para ordenar radix en C/C++
- 29. Formateo de C# de salida
- 30. Cadenas y codificación de caracteres en C++
Estoy usando MS C 6.0 y no funciona. No da error tampoco. – Aydya
¿Podría publicar un código de muestra que no funciona? Asegúrese de que la 'c' esté en minúscula en '% c'. –
intenté copiar y pegar mi ejemplo. % c debería funcionar dado que el parámetro es del tipo correcto (un carácter, no una cadena). –