2017-02-13 150 views
-5

我得到的錯誤error:expected ':', ',' or')' before '.' token下面的代碼:錯誤:預期':',','或')'之前'。'令牌

#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遺憾是怪我粗心的編碼習慣,而且不認爲它以上。我會注意在stackoverflow上提問。但是我還是要感謝那些回答和評論的人。

+5

粘貼代碼不是圖像。 – haccks

+2

','而不是'.'。 – BLUEPIXY

+0

第25行的while循環後面跟着分號,這不是你想要的。你也應該讓'main()'返回void或者返回一個值:) –

回答

4

兩個錯誤:

1.更換行:

while (!feof(fpin)); 

有:

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

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行,你已經分居函數參數與點而不是逗號。

相關問題