Tôi đang viết chương trình Qt (4.7 cho Windows 7 ban đầu) yêu cầu phải ghi vào thư mục đã cài đặt (C: \ Program Files ...). Không có tệp nào được tạo khi tôi cố gắng ghi vào một vị trí sẽ được "bảo vệ" (tệp chương trình, C: \ etc). Tuy nhiên, QFile không cho tôi bất kỳ mã lỗi nào (error() trả về 0 có nghĩa là nó hoạt động tốt).Qt không thể tạo/ghi vào C:
Đây là đoạn mã mà tôi đang sử dụng không hoạt động. Tôi đóng tập tin của nó chỉ sau này trong chương trình.
QỨng dụng a (argc, argv);
// Setting plugin paths.
QStringList paths = QCoreApplication::libraryPaths();
paths.append(QCoreApplication::applicationDirPath());
QCoreApplication::setLibraryPaths(paths);
// Debug file.
QString path = QCoreApplication::applicationDirPath() + "/debug.dat";
//QFile debugFile(QCoreApplication::applicationDirPath() + "/debug.dat");
QFile debugFile("C:/debug.txt");
qDebug() << debugFile.error();
debugFile.setPermissions(QFile::WriteUser | QFile::WriteGroup | QFile::WriteOwner | QFile::WriteOther);
debugFile.open(QFile::WriteOnly);
QTextStream debugStream(&debugFile);
// Processing the arguments.
debugStream << QString("Processing Arguments\n");
Có ai có mẹo nào về cách giải quyết vấn đề này không?
Thanks for the help,
JEC
Thêm một file manifest là con đường tôi chọn để khắc phục vấn đề này.
Cảm ơn tất cả sự giúp đỡ.
"Tuy nhiên, QFile không cung cấp cho tôi bất kỳ mã lỗi nào": Bạn nên kiểm tra giá trị trả về của debugFile.open(). –