在当前目录以外的位置创建 QFile 时出现问题
我正在使用安装在 Ubuntu 10.04 上的 Qt 4.7 .... 我无法在当前目录“.”以外的位置创建 qt 文件。
这段代码运行良好:
QFile file("data.txt");
if (!file.open(QIODevice::Append))
{
qDebug("ERROR WHILE OPENING THE FILE TO APPEND Data");
return ;
}
但是这段代码失败了(我认为是因为权限的原因):
QFile file("/var/lib/mysql/testdb/data.txt");
if (!file.open(QIODevice::Append))
{
qDebug("ERROR WHILE OPENING THE FILE TO APPEND Data");
return ;
}
那么,我该如何解决这个问题并授予程序在文件系统的任何位置创建文件的权限?
I am using Qt 4.7 installed on Ubuntu 10.04 ....
I can't create a qt file inside a location other than the current directory "."
This code works well:
QFile file("data.txt");
if (!file.open(QIODevice::Append))
{
qDebug("ERROR WHILE OPENING THE FILE TO APPEND Data");
return ;
}
but this code fails (I think because of the permissions):
QFile file("/var/lib/mysql/testdb/data.txt");
if (!file.open(QIODevice::Append))
{
qDebug("ERROR WHILE OPENING THE FILE TO APPEND Data");
return ;
}
So, how can I solve this problem and give the program permissions to create the file wherever at the file system??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过以下方法之一快速解决此问题:
chmod /the/dir o+rwx
-这允许每个人写入该目录。chown myuser /the/dir
- 这可以让您的用户写入该目录。您可以通过坚持当前用户可以访问的目录来正确解决这个问题 - 权限的存在是有原因的。
You solve this quickly in one of these ways:
chmod /the/dir o+rwx
- this lets everyone write to the directory.chown myuser /the/dir
- this lets your user write to the directory.You solve this correctly by sticking to directories that your current user can access - permissions are there for a reason.