Verwendung von als Carriage Return Zeichen in C

Ammar Ali 12 Oktober 2023
  1. Verwenden Sie \n als Wagenrücklaufzeichen in C
  2. Verwenden Sie \r, um den Cursor an den Zeilenanfang in C zu bewegen
Verwendung von 
 als Carriage Return Zeichen in C

In diesem Tutorial wird die Verwendung von \r als Wagenrücklaufzeichen oder das Zurückbewegen des Cursors an den Anfang der Zeile in C erläutert.

Verwenden Sie \n als Wagenrücklaufzeichen in C

\r wird als Wagenrücklaufzeichen verwendet, das die Return- oder Enter-Taste darstellt, die auf einer Tastatur vorhanden ist. Die Wagenrücklauftaste ändert sich in Bezug auf ein Betriebssystem wie Windows verwendet \n und macOS verwendet \r als Wagenrücklauftaste.

Wenn wir überprüfen wollen, ob die Enter-Taste gedrückt ist, können wir die Return- oder Enter-Taste mit \r oder \n darstellen. Beispielsweise können wir die Wagenrücklauftaste verwenden, wenn wir eine Eingabe vom Benutzer entgegennehmen und den Eingabeprozess beenden möchten, wenn der Benutzer die Enter- oder Return-Taste auf der Tastatur drückt.

Lassen Sie uns zum Beispiel einen Code schreiben, der den Benutzer nach einem Satz in Kleinbuchstaben fragt, dann die Anzahl der Wörter und Zeichen im Satz zählt und, wenn der Benutzer Enter oder die Return-Taste drückt, den Code wird enden. Siehe Code unten.

#include <stdio.h>

int main() {
  int c_char = 0;
  int c_word = 1;

  printf("Enter Sentence: ");
  char ch = 'a';
  while (ch != '\n') {
    ch = getchar();
    if (ch == ' ')
      c_word++;
    else
      c_char++;
  }

  printf("\n Words = %d ", c_word);

  printf("Characters = %d", c_char - 1);

  getch();
}

Ausgabe:

Enter Sentence: hello world

 Words = 2 Characters = 10

Im obigen Code haben wir zwei Variablen, c_char und c_word, verwendet, um die Anzahl der Zeichen und Wörter zu speichern. Wir haben das zum Beenden der Schleife verwendete Zeichen initialisiert und mit dem Wagenrücklaufzeichen verglichen, das \n ist, da der Code unter Windows ausgeführt wird.

Wir haben die Funktion getchar() verwendet, um die Zeichen zu erhalten, die von der Tastatur gedrückt werden, und wenn die Eingabetaste oder die Eingabetaste gedrückt wird, wird die Schleife unterbrochen und die Anzahl der Wörter und Zeichen wird mit dem printf() Funktion. Wir haben die Anweisung if verwendet, um zu prüfen, ob die Leertaste gedrückt ist, und wenn sie gedrückt wird, erhöhen wir die Variable c_word, und wenn eine andere Taste gedrückt wird, erhöhen wir die Variable c_char.

Die Funktion getch() wird verwendet, um die Ausgabe anzuhalten, bis eine Taste gedrückt wird, damit wir die Ausgabe und Eingabe sehen können. Im obigen Code haben wir das \n als Wagenrücklauftaste verwendet, da der Code unter Windows ausgeführt wird und wenn der Code nicht beendet wird, können wir den Code mit \r testen.

Verwenden Sie \r, um den Cursor an den Zeilenanfang in C zu bewegen

Das Zeichen \r kann auch verwendet werden, um den Cursor in einigen Funktionen wie printf(), stderr() und stdout() zurück zum Anfang einer Zeile zu bewegen. Der Cursor springt an den Anfang und ersetzt den vorherigen Text vor dem Zeichen \r durch den neuen Text nach dem Zeichen \r.

Lassen Sie uns zum Beispiel das Zeichen \r in der Funktion printf() verwenden, um den Text zu ersetzen. Siehe Code unten.

#include <stdio.h>

int main() {
  printf("hello hello \rworld\n");
  printf("hello hello \rworld world");
}

Ausgabe:

world hello
world world

In der ersten Zeile des obigen Codes werden nur das erste Wort oder die ersten vier Zeichen durch das neue Wort ersetzt, der Rest des Textes bleibt gleich. In der zweiten Zeile des Codes wird der gesamte vorherige Text durch den neuen Text ersetzt, da die Anzahl der Zeichen im neuen Text gleich der Anzahl des vorherigen Textes ist.

Alle vorherigen Textzeichen werden nur dann ersetzt, wenn die neuen Textzeichen größer oder gleich den neuen Textzeichen sind.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook