关于QT打开文件将文件名储存问题 小白求帮助
//path储存了打开的文件路径QStringpath=QFileDialog::getOpenFileName(NULL,"openfile","/","Cfile(*...
//path储存了打开的文件路径
QString path = QFileDialog::getOpenFileName(NULL,"open file",
"/","C file(*.c);;Text file(*.txt);;All file(*.*)");
if(path.length() == 0) {
QMessageBox::information(NULL, tr("Path"), tr("You didn't select any files."));
}
else {
QMessageBox::information(NULL, tr("Path"), tr("You selected ") + path);
qDebug() << path;
//打开文件
QFile *localFile = new QFile(path);
localFile->read(qMin());
if(!localFile->open(QFile::ReadWrite))
{
qDebug() << "open file error!";
return;
}
QFileInfo fi(path);
QString name1 = fi.fileName();
struct fileoutfo outfo;
outfo.ntype = 1;
outfo.lenth = sizeof(fileoutfo);
outfo.totalBytes = localFile->size();
outfo.name = path.right(path.size() - path.lastIndexOf('/')-1);
//转为QByteArray发送
QByteArray dataArray = QByteArray::fromRawData((char*)&outfo, sizeof(fileoutfo));
mySend->write(dataArray);
问题就是QString name提取了文件名之后 不能用qDebug显示,发送过去的QByteArray中存在QString。我要提取出来并且用来作为新建文件名 要怎么做。
我验证了用数组保存的名字发送过去可以读出 但是不知道怎么读取文件名保存道数组中?
请帮助一下。。。。。。。。。。。。。。。。。。。。。。。 展开
QString path = QFileDialog::getOpenFileName(NULL,"open file",
"/","C file(*.c);;Text file(*.txt);;All file(*.*)");
if(path.length() == 0) {
QMessageBox::information(NULL, tr("Path"), tr("You didn't select any files."));
}
else {
QMessageBox::information(NULL, tr("Path"), tr("You selected ") + path);
qDebug() << path;
//打开文件
QFile *localFile = new QFile(path);
localFile->read(qMin());
if(!localFile->open(QFile::ReadWrite))
{
qDebug() << "open file error!";
return;
}
QFileInfo fi(path);
QString name1 = fi.fileName();
struct fileoutfo outfo;
outfo.ntype = 1;
outfo.lenth = sizeof(fileoutfo);
outfo.totalBytes = localFile->size();
outfo.name = path.right(path.size() - path.lastIndexOf('/')-1);
//转为QByteArray发送
QByteArray dataArray = QByteArray::fromRawData((char*)&outfo, sizeof(fileoutfo));
mySend->write(dataArray);
问题就是QString name提取了文件名之后 不能用qDebug显示,发送过去的QByteArray中存在QString。我要提取出来并且用来作为新建文件名 要怎么做。
我验证了用数组保存的名字发送过去可以读出 但是不知道怎么读取文件名保存道数组中?
请帮助一下。。。。。。。。。。。。。。。。。。。。。。。 展开
若以下回答无法解决问题,邀请你更新回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询