在Qt中区分文件路径和url
如果我有一个字符串,它可以是文件或URL,有没有任何现有的聪明方法可以用来区分它们 例如:在Qt中区分文件路径和url,qt,qurl,Qt,Qurl,如果我有一个字符串,它可以是文件或URL,有没有任何现有的聪明方法可以用来区分它们 例如: /用户/user/Documents/mydoc.txt->path c:\ProgramFiles\myapp\mydoc.doc->path ->url ->url 这是为了加载设计器UI文件,所以我需要制作远程文件的本地临时副本。 因此,底线是知道何时需要下载该文件 您可以使用给定的名称创建一个QFile,并检查它是否存在()。如果不尝试将字符串解析为URL。那么,您可能需要用这些字符串构造一个
- /用户/user/Documents/mydoc.txt->path
- c:\ProgramFiles\myapp\mydoc.doc->path
- ->url
- ->url
因此,底线是知道何时需要下载该文件 您可以使用给定的名称创建一个
QFile
,并检查它是否存在()。如果不尝试将字符串解析为URL。那么,您可能需要用这些字符串构造一个QUrl
对象,并验证这些URL是否引用本地文件。即:
static bool isLocalFile(const QString &str)
{
return QUrl::fromUserInput(str).isLocalFile();
}
用你的弦
QString s1("/Users/user/Documents/mydoc.txt");
QString s2("c:\\Program Files\\myapp\\mydoc.doc");
QString s3("https://mywebsite.com/mydoc.txt");
QString s4("ftp://myserver.com/myfile.txt");
bool b = isLocalFile(s1); // a path
b = isLocalFile(s2); // a path
b = isLocalFile(s3); // not a path
b = isLocalFile(s4); // not a path
你能举个例子吗?问题中增加了一个例子。是的,这一个实际上更好