2016-06-12 3 views
-1

Вопрос о том, как печатать один \ уже задан много раз. Я ничего не мог найти о печати двух обратных косых черт (\\).как распечатать \ в C? (fprintf)

Когда я пытаюсь написать это: fputs("\\\\",w_ptr);

не будет слэшами, чем один.

Если вы заинтересованы:

это обычай законопроект написание программы, которая создает латексные PDF с подачей CSV. И там много двойных обратных косых черт, которые показывают новую линию.

Заранее благодарен!

+3

для \\ попробовать 'fprintf ("\\\\", w_ptr);' – Haris

+0

Что такое 'w_ptr'? И где первый параметр 'fprintf' - файл, который вы хотите распечатать? (Покажите нам код, который вы используете, чтобы напечатать одну обратную косую черту, и мы можем показать вам, как настроить его, чтобы печатать два.) –

+0

тоже спасибо! Он работает сейчас. :) – ionman

ответ

5

Поскольку вы уже знаете, как распечатать одну обратную косую черту, печать двух из них должна быть легкой.

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

О, и всегда активировать предупреждения компилятора. Первый аргумент fprintf должен быть указателем файла, а не строкой.

+0

спасибо, сэр! Оно работает! – ionman

3

Пример программы для печати два обратных слеша в файле sample.txt:

#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; 
} 
Смежные вопросы