C++ Qt

программирование windows C++ qt

Не могу разобраться с копированием. Во 1, пишет нет доступа. Смотрел, он есть для "Все", "Я", "Пользователи" на чтение и запись.
Пробую копировать файл в папку не получается, если юзать boost, тоже (от него узнал причину). В общем в чем может быть трабла? Русскоязычных букв в пути нету, но что если будут?

И еще, в другой проге, вываливается ран-тайм ошибка на таком коде

QString name;
QString numChapter;
if(!dirFrom.isEmpty())
{
QDir d(dirFrom);
logTextEdit->append(dirFrom);
numChapter=getChapterNumber(d.dirName());
logTextEdit->append(numChapter);
QStringList sl = d.entryList(QDir::Files);
logTextEdit->append("d.entryList");
foreach(name,sl)
{
logTextEdit->append("Start foreach");
if (!name.startsWith("Credit"))//что бы копировать только главы
{
boost::filesystem3::copy_file((dirFrom+"\\"+name).toStdString(),dirTo.toStdString());
logTextEdit->append("Copied "+(dirFrom+"/"+name)+" to "+dirTo);
boost::filesystem3::rename((dirTo+"/"+name).toStdString(),(dirTo+"/"+numChapter+"_"+name).toStdString());
logTextEdit->append("rename "+dirTo+"/"+name+" to "+dirTo+"/"+numChapter+"_"+name);
}
}
}

Так я копирую, dirFrom и dirTo получаю с помощью QFileDialog::getExistingDirectory

Из сообщений, которые я высылаю на logTextEdit, понял что именно на копировании ошибка.

В ошибке ничего не говорится. Просто пишет что ран тайм с заглавием окна Визуал С++ библиотека

В общем хелп, заранее благодарен.


Примечание:
Узнал я о ошибке, там типа Нет доступа. Хотя доступ есть, проверял. Добавил доступ на чтение и запись "Все", но всеравно.
Ответы:
Попробуйте вынести выражения (dirFrom+"\\"+name).toStdString() и dirTo.toStdString() перед вызовом функции copy_file, т. е. std::string x = (dirFrom+"\\"+name).toStdString() и т. д.


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.