感谢你的反馈!看起来在字符串替换过程中产生了多余的反斜杠。这里是一个更简单且修正后的版本,确保得到正确的网络共享路径:
#include <QCoreApplication>
#include <QString>
#include <QDebug>
QString convertPath(const QString &path) {
// 将 E:/ 替换为 \\192.168.124.2\yt\
QString newPath = path;
// 使用双反斜杠来表示 Windows 网络路径中的分隔符
newPath.replace("E:/", "\\\\192.168.124.2\\yt\\");
// 如果还有其他需要替换的字符,可以根据实际情况添加
newPath.replace("/", "\\");
return newPath;
}
int main(int argc, char *argv[]) {
QCoreApplication a(argc, argv);
QString originalPath = "E:/YT/2024-09-23/15_31_07_601";
QString networkPath = convertPath(originalPath);
qDebug() << "Original Path:" << originalPath;
qDebug() << "Network Path:" << networkPath;
return a.exec();
}
主要修改:
- 在进行替换时保持了一致性,确保每次只有一个
\\
出现在结果中。 - 使用
replace
方法替换E:/
为\\192.168.124.2\yt\
。
当你运行这个程序时,应该能得到如下输出:
Original Path: "E:/YT/2024-09-23/15_31_07_601"
Network Path: "\\192.168.124.2\yt\2024-09-23\15_31_07_601"
这样就可以得到所需的网络共享路径了。如果仍有问题,请告诉我!
内容由零声教学AI助手提供,问题来源于学员提问