2016-06-12 11 views
-1

Die Frage, wie man einen \ druckt, ist schon oft gefragt. Ich konnte nichts über das Drucken von zwei Backslashes finden (\\).Wie drucke ich \ in C? (fprintf)

Wenn ich versuche, dies zu schreiben: fputs("\\\\",w_ptr);

es nicht mehr Schrägstriche als eins sein wird.

Wenn Sie interessiert sind:

es ist ein Schreiben von benutzerdefinierter Rechnung Programm, das Latex PDF mit einem CSV-Feed erstellt. Und dort sind viele Doppel-Backslashes, die einen neuen Zeilenvorschub anzeigen.

Vielen Dank im Voraus!

+3

für \\ versuchen 'fprintf ("\\\\", w_ptr);' – Haris

+0

Was ist 'w_ptr'? Und wo ist der erste Parameter zu 'fprintf' - die Datei, die Sie drucken möchten? (Zeigen Sie uns den Code, den Sie verwenden, um einen Backslash zu drucken, und wir können Ihnen zeigen, wie Sie ihn einstellen, um zwei zu drucken.) –

+0

danke auch! Es funktioniert jetzt. :) – ionman

Antwort

5

Da Sie bereits wissen, wie man einen Backslash druckt, sollte der Druck von zweien einfach sein.

fprintf(file, "%s\n", "\\"); // one backslash 
fprintf(file, "%s\n", "\\\\"); // two of them 

Oh, und aktivieren immer Compiler-Warnungen. Das erste Argument zu fprintf muss ein Dateizeiger sein, keine Zeichenfolge.

+0

danke, mein Herr! Es klappt! – ionman

3

Beispielprogramm zwei Schrägstriche in der Datei sample.txt drucken:

#include <stdio.h> 
#include <stdlib.h> 

int main (void) 
{ 
    FILE *fp = NULL; 
    fp = fopen ("sample.txt", "w+"); 
    if (!fp) 
    { 
     printf ("[ERROR]: Opening sample.txt"); 
    } 
    fprintf (fp, "%s\n", "\\\\"); 
    fclose (fp); 
    return 0; 
}