#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main (int argc,char* argv[]){
FILE *fpin,*fpout;
unsigned char buf[100];
char fin[100], fout[100];
int n;
if (argc<n){
printf("argc=[%d]\n",argc);
exit(0);
}
for (int i=0;i<argc;i++){
printf("argv[i]=%s",i,argv[i]);
}
strcpy(fin,argv[1]);
strcpy(fin,argv[2]);
fpin =fopen(fin,"rb");
fpout =fopen(fout,"wb");
n=fread(buf,sizeof(unsigned char),100,fpin);
while(n==100){
fwrite(buf,seizeof(unsigned char),100,fpout);
n=fread(buf,sezeof(unsigned char),100,fpin);
}
return 0;
}
第26行fwrite(buf,seizeof(unsigned char),100,fpout);
出現這樣的錯誤請問該怎解決呢[Error] expected primary-expression before 'unsigned',
還有我這樣寫有哪些錯誤地方呢,第一次發文不知道這樣可不可以
uj5u.com熱心網友回復:
這兩句語法有誤:fwrite(buf,sizeof(unsigned char),100,fpout); //seizeof
n=fread(buf,sizeof(unsigned char),100,fpin); //sezeof
uj5u.com熱心網友回復:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main (int argc,char* argv[])
{
FILE *fpin,*fpout;
unsigned char buf[100];
char fin[100], fout[100];
int n;
if (argc< 3){
printf("argc=%d, too few arguments \n", argc);
exit(0);
}
for (int i=0;i<argc;i++){
//printf("argv[i]=%s",i,argv[i]);
printf("argv[%d]=%s\n", i, argv[i]);
}
strcpy(fin,argv[1]);
//strcpy(fin,argv[2]);
strcpy(fout,argv[2]);
fpin =fopen(fin,"rb");
if (!fpin)
return -1;
fpout =fopen(fout,"wb");
if (!fpout)
return -1;
n = fread(buf, sizeof(unsigned char), 100, fpin);
while(n==100){
//fwrite(buf,seizeof(unsigned char),100,fpout);
//n=fread(buf,sezeof(unsigned char),100,fpin);
fwrite(buf,sizeof(unsigned char),100,fpout);
n=fread(buf,sizeof(unsigned char),100,fpin);
}
return 0;
}
供參考~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/284659.html
標籤:新手樂園