Как переместить файл в другой существующий каталог в Qt

Я новичок в Qt, одна часть моего проекта перемещает существующий файл в другой существующий каталог? Может кто-то приводит конкретный пример? Я не уверен, должен ли я использовать Qfile::rename(). Я пытаюсь написать так

QDir::rename("/home/joshua/test.txt","/home/joshua/test/test_c.txt"); 

но ошибка не может вызвать функцию-член 'bool QDir::rename(const QString&, const QString&) "без объекта QDir::rename("/home/joshua/test.txt","/home/joshua/test/test_c. текст"); ^

Извините, ребята, все не так, я задал такой неясный и такой глупый вопрос, мне очень жаль тратить ваше время, я новичок, прежде чем я задал этот вопрос, я действительно действительно не заметил, что этот вопрос был задан раньше, потому что мой уровень слишком низкий. Поскольку я слишком наивен, я больше не могу задавать вопросы, поэтому, пожалуйста, простите меня, задал этот вопрос, я слишком стресс, потому что я стажируюсь в компании, мой проект для меня довольно сложный, так что у меня нет выбора, чтобы сделать такой напоследок хочу сказать спасибо за тех, кто видел мои вопросы раньше.

2 ответа

Решение

Согласно документации:

bool QFile:: rename (const QString & newName)

Переименовывает файл, указанный в данный момент fileName(), в newName. Возвращает true в случае успеха; в противном случае возвращает false.

В вашем случае вы должны сделать следующее:

QFile file("/home/joshua/test.txt");
file.rename("/home/joshua/test/test_c.txt");

QDir::rename() это метод экземпляра QDirтак что тебе нужна QDir объект для вызова (и этот каталог будет базой для передаваемых имен файлов). Для вашего примера, что-то вроде:

QDir d("/home/joshua");
bool renamed = d.rename("test.txt" , "test/test_c.txt");

Вы хотите использовать возвращаемое значение.

В качестве альтернативы, вы можете использовать QFile::rename() - каталог по умолчанию для этого является текущим рабочим каталогом процесса.

Другие вопросы по тегам