링크 ux c 파일 복사 방법

2346 단어 CLinux
방법 1:
여기 서 주로 사용 하 는 함 수 는 open, read, write 입 니 다.
#include 
#include 
#include 
#include 
#include 
#include 
#include 
 
char buff[1024];
int len;
int main(int argc, char const *argv[])
{
    char const *src_path = argv[1];
    char const *des_path = argv[2];
    int fd,fd2;
 
    fd = open(src_path,O_RDWR|O_CREAT);
    fd2 = open(des_path,O_RDWR|O_CREAT);
    while(len = read(fd,buff,1024))
    {
        write(fd2,buff,len);
    }
    return 0;
}

그 중 open 함수:
첫 번 째 매개 변 수 는 파일 을 열 경로 이 고 두 번 째 매개 변 수 는 기능 flag, O 입 니 다.RDWR 은 읽 기와 쓰기 로 파일 을 엽 니 다. OCREAT 는 파일 이 존재 하지 않 으 면 생 성 한다 고 표시 합 니 다.
열 린 파일 을 표시 하 는 파일 설명 자 를 되 돌려 줍 니 다.
 
그 중 read 함수:
첫 번 째 매개 변 수 는 파일 설명자 입 니 다. 이 파일 설명자 가 표시 하 는 파일 에서 데 이 터 를 읽 습 니 다.
두 번 째 매개 변 수 는 파일 에서 읽 은 정 보 를 버퍼 배열 에 두 는 것 입 니 다.
세 번 째 매개 변 수 는 한 번 에 얼마나 많은 바이트 를 읽 느 냐 하 는 것 이다.
 
그 중 write 함수:
첫 번 째 매개 변 수 는 데 이 터 를 어디 에 쓰 는 것 입 니까?
두 번 째 매개 변수: 버퍼 배열 의 데 이 터 를 파일 설명 문자 에 기록 합 니 다.
세 번 째 매개 변수: 한 번 에 몇 바이트 쓰 는 지 표시 합 니 다.
 
메모: 위의 코드 처럼 하나의 while 순환 으로 데 이 터 를 읽 고 쓰 는 것 과 같 습 니 다. 그러면 read 의 세 번 째 매개 변 수 는 너무 크게 설정 하지 않 아 도 됩 니 다. 데 이 터 를 다 읽 고 순환 을 종료 할 수 있 기 때 문 입 니 다.
두 번 째 방법:
#include 
#include 
#include 
#include 
 
char buff[1024];
int len;
int main(int argc, char const *argv[])
{
    FILE *in,*out;
    char const * src_path = argv[1];    //         
    char const * des_path = argv[2];   //         (  )
 
    in = fopen(argv[1],"r+");
    out = fopen(argv[2],"w+");
 
    while(len = fread(buff,1,sizeof(buff),in))
    {
        fwrite(buff,1,len,out);
    }
    return 0;
}

세 번 째 방법
/*      */
void copy_file(char *file_src, char *file_dst)
{
	if((NULL == file_src) || (NULL == file_dst) || (0 != (access(file_src, F_OK))))
	{
		return;
	}

	FILE *fp1 = NULL;
	FILE *fp2 = NULL;
	int ch = 0;

	if((NULL == (fp1 = fopen(file_src, "r"))) || (NULL == (fp2 = fopen(file_dst, "w"))))
	{
		return 1;
	}

	while(EOF != (ch = getc(fp1)))
	{
		putc(ch, fp2);
	}

	fclose(fp1);
	fclose(fp2);
}

좋은 웹페이지 즐겨찾기