이걸 씨언어로 바꾸면 어떻게 되나여?

익명 사용자의 이미지

#include
#include

#define BUFSIZE 512
#define PREM 0644

int copyfile(const char *name1,const char name2)
{

int infile,outfile;
ssize_t nread;
char buffer[BUFSIZE];

if ( (infile=open(name1,O_RDONLY))==-1
return(-1);
if((outfile=open(name2,O_WRONLY | O_CREATE|O_YRUNC,PREM))
==-1)
{
close (infile);
return(-2);
}

while((nread = read(infile,buffer,BUFSIZE)) > 0)
{
if(write(outfile.buffer,nread) < nread)
{
close(infile);
close(outfile);
return(-3);
}
}

close(infile);
close(outfile);
if(nread==-1)
return(-4);
else
return(0);
}

유닉스로 짠거거든여...

익명 사용자의 이미지

^^;
C 언어로 짠 소스입니다.
유닉스/리눅스의 시스템 호출을 사용했군요.
혹시 질문의 의도가 시스템 호출이 아닌 표준 라이브러리 함수를 이용한
소스를 부탁한 것입니까?
정확한 의도를 다시 한번 적어주십시요.

익명 사용자의 이미지

아아아아아

제가 진짜 초짜인데 이게 숙제라 정말 암꺼두 몰라서여...

근데 금 비쥬얼 스튜디오에서 돌리려면 어떻게 해야하나여?

표준라이브러리 함수를 쓴다면 어떻게 되는건가여?

시스템콜함수를 이용한 카피 프로그램 짜는거거든여.. 씨언어로...

유닉스나리눅스를 호출하지 않고 걍 비주얼에서 돌리는 방법이 있나여?

익명 사용자의 이미지

#include

#define BUFSIZE 512
#define PREM 0644

int copyfile(const char *name1,const char name2)
{

FILE *infile, *outfile;
int nread;
char buffer[BUFSIZE];

if ( (infile=fopen(name1,"r"))==NULL )
return(-1);
if((outfile=fopen(name2,O_WRONLY | O_CREATE|O_YRUNC,PREM))
==NULL)
{
fclose (infile);
return(-2);
}

while((nread = fread(buffer, 1, BUFSIZE, infile)) > 0)
{
if(fwrite(buffer, 1, nread, outfile) < nread)
{
fclose(infile);
fclose(outfile);
return(-3);
}
}

fclose(infile);
fclose(outfile);
if(nread==-1)
return(-4);
else
return(0);
}

익명 사용자의 이미지

겅부하세요~

담에 또 숙제 나오면 어쩌실라구...

익명 사용자의 이미지

힘들게 해결했어여...

윗분말씀이 살짝 걸렸지만 제숙제니까 제가 해야져...

나름대로 잘 노력하고있어여...

거의 해결 본듯....