it-swarm.com.de

Einzelzeichen in C ausgeben

Muss ich beim Ausdruck eines einzelnen Zeichens in einem C-Programm "% 1s" in der Formatzeichenfolge verwenden? Kann ich etwas wie "% c" verwenden?

34
Aydya

ja, %c druckt ein einzelnes Zeichen:

printf("%c", 'h');

putchar/putc funktioniert auch. Von "man 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).

BEARBEITEN:

Beachten Sie auch, dass Sie, wenn Sie eine Zeichenfolge haben, ein einzelnes Zeichen ausgeben müssen, das Zeichen in der Zeichenfolge erhalten, das Sie ausgeben möchten. Zum Beispiel:

const char *h = "hello world";
printf("%c\n", h[4]); /* outputs an 'o' character */
69
Evan Teran

Wie in einer der anderen Antworten erwähnt, können Sie putc (int c, FILE * stream), putchar (int c) oder fputc (int c, FILE * stream) für verwenden dieser Zweck.

Es ist wichtig zu beachten, dass die Verwendung einer der oben genannten Funktionen von einigen bis zu deutlich schneller ist als die Verwendung von Format-Parsing-Funktionen wie printf.

Die Verwendung von printf ist wie die Verwendung eines Maschinengewehrs, um eine Kugel abzufeuern.

15
Roalt

Achten Sie auf den Unterschied zwischen 'c' und "c"

'c' ist ein für die Formatierung mit% c geeignetes Zeichen

"c" ist ein Zeichen, das auf einen Speicherblock mit einer Länge von 2 zeigt (mit dem Null-Terminator).

10
Douglas Leeder
char variable = 'x';  // the variable is a char whose value is lowercase x

printf("<%c>", variable); // print it with angle brackets around the character
3
EvilTeach

Die einfachste Möglichkeit, ein einzelnes Zeichen auszugeben, ist die putchar-Funktion.

0
Broman