• 8862阅读
  • 7回复

文件路径的斜杠和反斜杠~~~【结贴哈】一下反斜杠和斜杠可能有点儿说反了~ [复制链接]

上一主题 下一主题
离线yangfanxing
 
只看楼主 倒序阅读 楼主  发表于: 2010-01-14
  1. QFileDialog* dialog = new QFileDialog(0);


1、调用
  1. QString ImgFile = dialog->selectedFiles().at(0);

返回:
("C:\Documents and Settings\Lab\Desktop\mainone\bldr_split.img")
这样的路径;
2、调用
  1. Qdir directory = dialog->directory();
  2. QString currentDerectory = directory.absolutePath();

返回:
"bldr_split" "C:/Documents and Settings/Lab/Desktop/mainone"
请注意:反斜杠斜杠!!!
平时的绝对路径都是F:\\...类似这样的。这个斜杠是怎么回事儿???
还有我进行QString操作:
  1. QString fileName = currentDerectory + "\\" + "bldr_split.txt";

这里明明加了反斜杠,但是正确读到txt的内容!
返回fileName为:
"C:/Documents and Settings/Lab/Desktop/mainone\bldr_split.txt"
全是斜杠!!!这个很怪了~~~

PS:貌似
  1. QString fileName = currentDerectory + "/" + "bldr_split.txt";

也是可以的(此处用斜杠)!!!
[ 此帖被yangfanxing在2010-01-15 16:27重新编辑 ]
PHPWind好恶心。。。不想看这种界面。。。
离线benbenmajia

只看该作者 1楼 发表于: 2010-01-15
有点诡异...
安然.....
离线午小夜

只看该作者 2楼 发表于: 2010-01-15
#ifdef Q_OS_WIN32
    QString strPath = qApp->applicationDirPath()+"/";
    strPath.replace("/","\\");
#endif

linux操作系統下,不需要改變。
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线benbenmajia

只看该作者 3楼 发表于: 2010-01-15
LS很好.....
安然.....
离线nmiirq

只看该作者 4楼 发表于: 2010-01-15
引用第2楼午小夜于2010-01-15 09:50发表的  :
#ifdef Q_OS_WIN32
    QString strPath = qApp->applicationDirPath()+"/";
    strPath.replace("/","\");
#endif
.......


不用那么麻烦吧!
用QDir::toNativeSeparators()不就搞定了么?
离线yangfanxing
只看该作者 5楼 发表于: 2010-01-15
to:小夜
哦,明白了下,是Linux的特色啊~~~
——————————————————
to:nmiirq
嗯,要转的话可以用这个~~~谢谢哈~~~
PHPWind好恶心。。。不想看这种界面。。。
离线yangfanxing
只看该作者 6楼 发表于: 2010-01-15
to:小夜
哦,明白了下,是Linux的特色啊~~~
——————————————————
to:nmiirq
嗯,要转的话可以用这个~~~谢谢哈~~~
PHPWind好恶心。。。不想看这种界面。。。
离线golo
只看该作者 7楼 发表于: 2010-01-27
我也遇到这个诡异的问题

file = new QFile(".\\history\\ss.txt");

fileName =  file->fileName();

if(!file->open(QIODevice::ReadOnly | QIODevice::Text))
{
     ....
}

查看内存,fileName自动变成"./history/ss.txt"了,文件打开失败.

改成

stemp = "ss";
QFile f(QString(".\\histroy\\%1.txt").arg(stemp));

后有些地方打开没问题,有些地方还是存在原来的问题。我用的是qt4.6 Qt creator1.3,Windows下。
快速回复
限100 字节
 
上一个 下一个