다른 바이너리 파일로 하나의 바이너리 파일을 복사하고 싶습니다. 유일한 제약 조건은 복사가 QFile
을 통해 이루어져야한다는 것입니다. 왜냐하면 (일부 내부 메서드가 오버로드되어 실행해야하기 때문입니다). 내가 해결하기 위해 순진한 방법을 쓴하지만 느린 작가 :QT에서 두 바이너리 파일을 복사하는 가장 좋은 방법은
QFile * write_to = new QFile("myfile.bin");
if(write_to->open(QFile::WriteOnly))
{
QFile read_from("my_outher_bin.bin");
if(read_from.open(QIODevice::ReadOnly))
{
QDataStream write_data(write_to);
QDataStream read_data(&read_from);
while(write_to->size() < read_from.size())
write_data << read_data;
}
}
이 작업을 수행하는 가장 효과적인 방법은 무엇입니까?
std::ifstream src("file.txt", std::ios::binary);
std::ofstream dst("to_file.txt", std::ios::binary);
dst << src.rdbuf();
당신이 C++ (17)를 사용하는 경우, 당신은 < filesystem> 확장 및 사용을 사용할 수 있습니다
왜 [QFile :: copy] (http://doc.qt.io/qt-5/qfile.html#copy)가 필요하지 않습니까? 어떤 내부 방법을 변경 했습니까? – xander
파일에 암호화 및 암호 해독을 추가하기 위해 읽기 및 쓰기 메소드를 변경합니다. – YOKO
파일 크기는 무엇입니까? – aghilpro