проблема печати строки в C - PullRequest
0 голосов
/ 09 ноября 2010

У меня есть эта структура

typedef struct tree_node_s{
    char word[20];

    struct tree_node_s *leftp,*rightp;

    }fyllo

Я хочу напечатать слово в файле, и я использую fprintf проблема в ПРОБЛИНЕ

void print_inorder(fyllo *riza,FILE *outp){

     if (riza==NULL) return ;
     print_inorder(riza->leftp,outp);
     fprintf("%s",riza->word);  //PROBLINE
     print_inorder(riza->rightp,outp);
                }

я компилирую и у меня проблема

tree.c: In function ‘print_inorder’:
tree.c:35: warning: passing argument 1 of ‘fprintf’ from incompatible pointer type

в чем здесь проблема;

Ответы [ 3 ]

6 голосов
/ 09 ноября 2010

Вы звоните fprintf неправильно. Объявление этой функции

 int fprintf(FILE *restrict stream, const char *restrict format, ...);

Следовательно, вы должны поместить указатель FILE в качестве первого аргумента (вы заметили, что вы на самом деле никогда не использовали outp в функции?). Строка должна быть написана как

fprintf(outp, "%s", riza->word);
3 голосов
/ 09 ноября 2010

Первый аргумент fprintf должен быть FILE* для печати на:

fprintf(outp, "%s", riza->word);
2 голосов
/ 09 ноября 2010

Попробуйте изменить

fprintf("%s",riza->word); 

до

fprintf(outp, "%s", riza->word);
...