Здравствуйте!
Прошу меня поправить, если я ошибаюсь: мне кажется, что такой способ задания кодов переменных (нотация ⺴) применим только к HTML-разметке.
Если его использовать для формирования пути классу QDir, то просто создастся каталог с именем "⺴".
Вот модифицированный код тестового примера:
Код |
---|
#include <assert.h>
#include <dirent.h>
#include <QDebug>
#include <QDir>
#include <QString>
int main()
{
// Создать каталог
QDir tmpDir("/tmp/");
// bool isCreated = tmpDir.mkdir(QString::fromUtf8("⺴"));
// assert(isCreated);
// Здесь я намеренно допустил ошибку и не написал ";" в конце, чтобы сохранить численное значения символа
bool isCreated = tmpDir.mkdir(QString::fromUtf8("⺴"));
// Обойти каталог "/tmp"
DIR *dirp = NULL;
struct dirent *direntp = NULL;
dirp = opendir("/tmp");
assert(dirp);
while ((direntp = readdir(dirp)) != NULL)
{
qDebug() << direntp->d_name;
}
return 0;
} |
Здесь в конце я добавил низкоуровневое чтение содержимого каталога /tmp после создания в нем каталога.
В выводе получается имя каталога "⺴".
Если раскомментировать код создания каталога с именем, заданным как "⺴" (при этом кодировка исходников в utf8), то получим ошибку создания каталога (предполагаю из-за того, что такой символ не предусмотрен текущей локалью).
Просьба меня поправить, если я ошибаюсь - спасибо!