找回密码
 立即注册
收起左侧

theFileName = fileName.right(fileName.size() - fileName.lastIndexOf('/')-1);

2
回复
8383
查看
[复制链接]
累计签到:2 天
连续签到:1 天
来源: 2015-10-22 17:48:39 显示全部楼层 |阅读模式
1Qter豆
请问大侠,第六行行这句话怎么解释,谢谢了,为什么后面还要减1呢?
// 打开按钮1  void TcpServer::on_serverOpenBtn_clicked()2  {3      fileName = QFileDialog::getOpenFileName(this);4         if(!fileName.isEmpty())5         {6             theFileName = fileName.right(fileName.size() - fileName.lastIndexOf('/')-1);7             ui->serverStatusLabel->setText(tr("要传送的文件为:%1 ").arg(theFileName));8             ui->serverSendBtn->setEnabled(true);9             ui->serverOpenBtn->setEnabled(false);10         }11  }

最佳答案

查看完整内容

fileName.right(N)这个函数是取fileName里面,右边的N个字符串。fileName.lastIndexof("/"),是查找fileName中最后出现"/"这个字符的位置。而这句话的意思是将fileName往右边取,从最后出现"/"这个字符的位置开始取。得出的字符串复制给theFileName
回复

使用道具 举报

累计签到:344 天
连续签到:1 天
2015-10-22 17:48:40 显示全部楼层
fileName.right(N)这个函数是取fileName里面,右边的N个字符串。fileName.lastIndexof("/"),是查找fileName中最后出现"/"这个字符的位置。而这句话的意思是将fileName往右边取,从最后出现"/"这个字符的位置开始取。得出的字符串复制给theFileName
回复

使用道具 举报

累计签到:344 天
连续签到:1 天
2015-10-30 17:31:30 显示全部楼层
简化来说,比如fileName="E:/test/test.txt."那么使用第六行这个函数后,theFileName=“test.txt”.这样清楚吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了