2012-05-11 2 views
5

C++/Qt를 사용하여 한 위치에서 다른 위치로 파일을 복사하려고합니다.QFile :: copy create는 파일의 복사본을 만들거나 하나의 파일에서 다른 파일로 내용을 옮길 것입니까?

QFile :: copy ("path1/file", "path2");

path1에있는 파일을 path2에 복사하려고합니다. path2에 파일이 없습니다.

위의 코드가 작동하지 않는 것으로 알고 있기 때문에 이것이 올바른 방법인지 알고 싶습니다.

또한 복사를 시도하기 전에 파일을 열어야합니까? 도움이 필요하다! 같은 파일 이름으로 path2path1/file을 복사하려면

+1

"작동하지 않음"을 정의하십시오. –

+0

또한이 기능을 사용하기위한 계획이 지원되는지 문서에서 확인 했습니까? http://doc.trolltech.com/4.7/qfile.html#copy –

답변

10

, 당신은하고 싶은 것 :

QFile::copy("path1/file", "path2/file"); 

복사는 파일의 이름을 변경할 수 있습니다. 예 :

QFile::copy("path1/file1", "path1/file2"); 

두 가지 이유로 파일 이름을 모두 입력해야합니다. 또한 먼저 파일을 열 필요는 없습니다. 그리고 제목 질문에 답하기 위해 파일을 복사합니다. QFile::rename() 내용을 이동합니다.

+0

감사합니다. 나는 한 가지 더 질문이있다. 이 Qfile 사본은 대상 위치에 파일이 이미있는 경우 false를 리턴합니다. 원본 파일의 내용이 수정 될 때마다 파일을 처음으로 복사하려고합니다. 두 번째 경우 QFile rename()을 수행해야합니까? – user1065969

+1

아니요. 파일이 이미 있으면 복사 및 이름 바꾸기가 실패합니다. 먼저 대상 파일을 삭제해야합니다. –

+1

** 리소스 파일 **을 일부 경로로 복사하는 데 사용할 수 있습니까? 예를 들어,'QFile :: copy (":/default.jpg", "data.jpg"); –

관련 문제