AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

printf() \r-Befehl unter Unix

Ein Thema von ScorpionKing · begonnen am 7. Feb 2006 · letzter Beitrag vom 9. Feb 2006
Antwort Antwort
Seite 1 von 2  1 2   
ScorpionKing

Registriert seit: 25. Feb 2005
37 Beiträge
 
#1

printf() \r-Befehl unter Unix

  Alt 7. Feb 2006, 14:18
Hi Leute,
wenn man in C in die printf - Funktion "\r" schreibt, dann wird wieder an den Zeilenanfang gesprungen. Das brauche ich für eine Prozentanzeige in der Konsole ( printf("0% Prozent!\r"); ). Leider gibt es diesen "Befehl", wenn ich den Code unter Linux compiliere ja leider nicht mehr. Gibt es da eine andere Möglichkeit das zu realisieren?

MfG, ScorpionKing!
Sebastian
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: printf() \r-Befehl unter Unix

  Alt 7. Feb 2006, 14:21
Das Steuerzeichen 13 (CR) musst du benutzen.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: printf() \r-Befehl unter Unix

  Alt 7. Feb 2006, 14:22
Oder in Code:
Code:
printf("Foobar\n");
Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: printf() \r-Befehl unter Unix

  Alt 7. Feb 2006, 14:24
Haeh? Was meinst du mit Befehl gibt es nicht mehr?
Uebrigens ist "%3d Prozent\r" besser, da dann der Text nicht springt.
  Mit Zitat antworten Zitat
ScorpionKing

Registriert seit: 25. Feb 2005
37 Beiträge
 
#5

Re: printf() \r-Befehl unter Unix

  Alt 8. Feb 2006, 12:46
Ihr versteht mich leider falsch. Der \r-Befehl steht nicht für einen Zeilenumbruch, sondern springt zum Anfang der Zeile!
Sebastian
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: printf() \r-Befehl unter Unix

  Alt 8. Feb 2006, 13:08
Nach meinem Verständnis ist \r das gleiche wie \x0d und steht für das Steuerzeichen CARRIAGE RETURN (CR). Wenn bei dir \r nicht verfügbar ist, was niemand so richtig versteht, dann ist das doch eine Alternative, oder?

Grüße vom marabu
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#7

Re: printf() \r-Befehl unter Unix

  Alt 8. Feb 2006, 13:22
An den Anfang der Zeile zu springen gibt es unter Linux durchaus.
Falls Linux nicht ausgeben will, dann liegt das moeglicherweise daran das stdio zeilengepuffert ist.
Die ausgabe erfolgt dann erst bei einem \n oder mit flush().
  Mit Zitat antworten Zitat
ScorpionKing

Registriert seit: 25. Feb 2005
37 Beiträge
 
#8

Re: printf() \r-Befehl unter Unix

  Alt 8. Feb 2006, 14:18
Zitat von marabu:
Nach meinem Verständnis ist \r das gleiche wie \x0d und steht für das Steuerzeichen CARRIAGE RETURN (CR). Wenn bei dir \r nicht verfügbar ist, was niemand so richtig versteht, dann ist das doch eine Alternative, oder?

Grüße vom marabu
Der \r Befehl funktioniert doch unter Unix nicht, oder? Habe ich jedenfalls mal gelesen!
Sebastian
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: printf() \r-Befehl unter Unix

  Alt 8. Feb 2006, 14:39
Linux ist nicht mein Ding - aber ich erwarte, dass der Compiler die gängigen Escapes erkennt und umsetzt. Allerdings frage ich mich, warum du nicht die conio Funktionen verwendest - immerhin willst du ja die Konsole ansteuern.

marabu
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#10

Re: printf() \r-Befehl unter Unix

  Alt 8. Feb 2006, 15:04
Ach diese Jugend!
Es geht also nicht um ein konkretes Programm das nicht funktionieren will, sondern Du willst wissen ob es gehen koennte.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz