2010-11-30 6 views
0

Nachdem ich über Steuerzeichen aus Wikipedia gelesen habe, habe ich versucht, einen Code mit ihnen zu schreiben. Wenn ich einen von ihnen schreiben, konnte ich die erforderliche/wanted Ausgabe nicht erfolgreich schreiben:Formatierte Ausgabe mit Steuerzeichen in C?

name : ... 
surname : ... 
       asadsa // these three words are some data 
       adsdsa 
       asdsds 

meine Mühe:

fprintf(stdout, "\rname\t\t\b:%s\r\fsurname\t:%s\v %s \v%s \v%s ", 
     name, surname, data1, ...) 

aber Ausgang ist:

name  : georg. 
surname : alafron. 
        to the school 
        .... 
        .... 

aber diese Ausgabe ist nicht erwünscht, also wie kann ich es nur mit fprintf() und Zeichen beheben?

+2

Warum möchten Sie '\ v' verwenden? –

+1

sein Job Like \ f, anstelle von \ f verwende ich \ v –

Antwort

2

In der Regel werden Sie selten Ursache haben '\a' jede der Steuerzeichen zu verwenden, '\b', '\f', , und Sie werden nicht häufig verwenden '\r'; Das lässt '\t' und '\n', die Sie wahrscheinlich verwenden werden. Das letzte Mal, als ich '\r' und '\b' verwendete, schrieb ich einen Code, um auf einem Daisy Wheel-Drucker durch Überschreiben fett zu schreiben - die gleichen Daten zweimal zu schreiben. Es hilft nicht bei einem modernen Tintenstrahl- oder Laserdrucker.

Es ist ein bisschen schwierig zu sehen, was die Unterschiede zwischen den erforderlichen und tatsächlichen Ausgaben sind. Wenn man jedoch annimmt, dass Ihre Daten in Variablen name, surname, data1, data2 und data3, dann sollte dieses Format-String tun, was Sie wünschen:

printf("name : %s\nsurname : %s\n%14s%s\n%14s%s\n%14s%s\n", 
     name, surname, "", data1, "", data2, "", data3); 

Das '%14s' Format gibt an, dass die Breite 14 Zeichen lang sein sollte Dies ist die Größe des Einzuges in Ihren Datenzeilen. Die leere Zeichenfolge wird leer und auf 14 Zeichen aufgefüllt. Darauf folgt das entsprechende Datenbit.

Verwandte Themen