2017-02-13 3 views
-5

я получаю ошибку error:expected ':', ',' or')' before '.' token в следующем коде:error: expected ':', ',' or ')' before '.' лексема

#include<stdio.h> 
#include<sys/types.h> 
#include<sys/stat.h> 
#include<fcntl.h> 

void filecopy(FILE*,FILE*); 

int main() 
{ 
    FILE*fpin,*fpout; 

    fpin = fopen("file_a.dat", "r");// 
    fpout = fopen("file_b.dat", "w"); 
    filecopy(fpin, fpout); 
    fclose (fpin); 
    fclose (fpout); 

} 

void filecopy(FILE*fpin.FILE*fpout)//(FILE*fpin,FILE*fpout) 
{ 
    char ch; 

    ch = getc (fpin); 

    while (!feof(fpin));//delete the ';' 
    { 
     putc (ch,fpout); 
     ch = getc (fpin); 
    } 
} 

PS: Опять же, я прошу прощения за мой поспешным и бессмысленным question.It был виноват в моей неосторожного кодирования привычки, и не думаю, что это over.Ill обратить внимание на вопрос вопроса о stackoverflow. Но я хочу сказать спасибо людям, которые ответили и прокомментировали.

+5

Вставить код не изображение. – haccks

+2

',' вместо '.'. – BLUEPIXY

+0

После цикла 'while' в строке 25 следует точка с запятой, которая не является тем, что вы хотите. Также вы должны сделать 'main()' return void или вернуть значение :) –

ответ

4

Две ошибки:

while (!feof(fpin)); 

с::

while (!feof(fpin))  //without semicolon (;) 

1. линии Заменить2. Заменить строку:

void filecopy(FILE *fpin.FILE *fpout); 

с:

void filecopy(FILE *fpin, FILE *fpout) 
+0

Спасибо за ваш ответ искренне. – Ghoster

+0

@ 刘歆 佳 Я рад, что помог. – Marievi

+1

'void filecopy (FILE * fpin, FILE * fpout);' ← точка с запятой должна быть удалена –

2

В строке 19 вы отделенными аргументов функции с точкой вместо запятой.

Смежные вопросы