При печати одного символа в программе на C нужно ли использовать «%1s» в строке формата? Могу ли я использовать что-то вроде "%c"?
Вывод одного символа в C
Ответы (4)
да, %c
напечатает один символ:
printf("%c", 'h');
кроме того, putchar
/putc
тоже будут работать. Из "человек путчар":
#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).
РЕДАКТИРОВАТЬ:
Также обратите внимание, что если у вас есть строка, для вывода одного символа вам нужно получить символ в строке, которую вы хотите вывести. Например:
const char *h = "hello world";
printf("%c\n", h[4]); /* outputs an 'o' character */
Будьте осторожны с разницей между 'c'
и "c"
'c'
— символ, подходящий для форматирования с помощью %c
"c"
— это char*, указывающий на блок памяти длиной 2 (с ограничителем null).
Как упоминалось в одном из других ответов, вы можете использовать putc(int c, FILE *stream), putchar(int c) или fputc (int c, FILE *stream) для этой цели.
Важно отметить, что использование любой из вышеперечисленных функций от некоторых до значительно быстрее, чем использование любой из функций анализа формата, таких как printf.
Использование printf похоже на использование пулемета для выстрела одной пулей.
printf()
для одного символа — это как купить книгу, чтобы получить лист бумаги.
- person exebook; 08.11.2013
Самый простой способ вывести один символ — просто использовать функцию putchar
. В конце концов, это его единственная цель, и он не может делать ничего другого. Это не может быть проще, чем это.