tutorial español c++ qt

c++ - tutorial - solidity español



Qt-copia un archivo de un directorio a otro (3)

El siguiente código funciona en Windows por razones específicas. Esto establecerá la ruta de acceso a la unidad especificada y creará la carpeta que creó en el modo Under UI. Luego copia el archivo de origen a destino. Aquí la fuente es el directorio de instalación que contiene algunos archivos que se utilizan para trazar curvas. Este archivo no es modificado por los usuarios. Sólo lo usan.

Por lo tanto, esto funciona como copia del directorio de instalación a la carpeta especificada.

void MainWindow::on_pushButton_2_clicked() { QString str5 = ui->lineEdit->text(); QString src = "."; QString setpath; QDir dir(src); if(!dir.exists()){ return; } dir.cdUp(); //dir.cdUp(); setpath = "E://"; dir.setPath(setpath); QString dst_path = str5 + QDir::separator() ; dir.mkpath(dst_path); dir.cd(dst_path); QString filename = "gnu.plt"; QString filename2 = "Load curve.plt"; QString filename3 = "tube temp.plt"; QFile file(filename); QFile file1(filename2); QFile file2(filename3); file.copy(src+QDir::separator()+filename, setpath+QDir::separator()+str5+QDir::separator()+filename); file1.copy(src+QDir::separator()+filename2, setpath+QDir::separator()+str5+QDir::separator()+filename2); file2.copy(src+QDir::separator()+filename3, setpath+QDir::separator()+str5+QDir::separator()+filename3); }

Estoy usando QT, ¿no puedo averiguar cómo copiar un archivo de un directorio a otro? ¿Cómo puedo conseguir esto?


Puede utilizar QFile que proporciona un método de copia.

QFile::copy("/path/file", "/path/copy-of-file");


Si el archivo de destino existe, QFile::copy no funcionará. La solución es verificar si el archivo de destino existe, luego eliminarlo:

if (QFile::exists("/path/copy-of-file")) { QFile::remove("/path/copy-of-file"); } QFile::copy("/path/file", "/path/copy-of-file");