> QTextCodec::setCodecForLocale ( QTextCodec::codecForName ( "UTF-8" ) );
с каких пор венда стала поддерживать utf-8?
даже не знаю что ответить, т.к. вообще никогда не задавался этим вопросом, потому что кроме той проблемы что сейчас возникла я давно пишу на qt под windows и никаких проблем с кодировками не было.
> на первой же итерации происходит сегфолт после полной итерации.
зациклило...
итерация - одноразовое выполнение всего блока операторов внутри тела цикла. соответственно после одной такой итерации программа вылетела с сегфолтом.
> вот вывод:
вывод куда?
вывод на консоль (qDebug() как Вы знаете, всегда даёт вывод на консоль). сообщение об ошибке также выводится в консоль.
> последняя строка означает что библиотека не смогла открыть файл с именем из кракозябр
с каких пор венда стала поддерживать utf-8?
извините, но ответ аналогичен тому что выше
> сохранив при этом русскую кодировку
это какую-такую? ibm866? cp1251? iso-8859-5?.. русская кодировка...
такую, которая будет отображать русский язык в консоли корректно (наверное 866) либо iso)
Добавлено:
Вы действительно грамотно задаёте вопросы
. Спасибо !
. Дело в том что я привык писать эти 3 строчки setCodec* и не обратил внимания. Действительно, закомментировав строку
QTextCodec::setCodecForLocale ( QTextCodec::codecForName ( "UTF-8" ) );
и применив в параметр функции
TagLib::FileRef f(QString(dir+"/"+files.at(i).fileName()).toLocal8Bit().constData());
я получил правильный вывод. Большое спасибо администратору !