gpt4 book ai didi

c++ - QString::endsWith() 不起作用?

转载 作者:行者123 更新时间:2023-11-30 00:47:47 25 4
gpt4 key购买 nike

我有一个函数,可以检查字符串的结尾以确定扩展名。

我使用带有第二个参数的方法 endsWith:Qt::CaseInsensitive

现在的问题是,对于某些扩展,它可以工作,而对于其他扩展,则不能。字符串只用普通的拉丁字符书写,没什么特别的。

在调试器中,字符串看起来没问题,没有尾随空格或最后一个字符后的任何内容。

它应该可以工作,但它只对某些文件扩展名有效。这是我的支票样本:

if(myString.endsWith(".mp3", Qt::CaseInsensitive) || myString.endsWith(".wav", Qt::CaseInsensitive) || myString.endsWith(".flac", Qt::CaseInsensitive) ||
myString.endsWith(".ape", Qt::CaseInsensitive))
{
DoSomething();
}

myString 是 "Glory.mp3"

它仅适用于某些文件扩展名。

这是一个无法正常工作的案例:

else if(myString.endsWith(".zip", Qt::CaseInsensitive) || myString.endsWith(".rar", Qt::CaseInsensitive) || myString.endsWith(".tar", Qt::CaseInsensitive) ||
myString.endsWith(".tar.gz", Qt::CaseInsensitive), myString.endsWith(".7z", Qt::CaseInsensitive))
{
DoSomethingElse();
}

myString 是 "magnets.zip"

最佳答案

else if(myString.endsWith(".zip", Qt::CaseInsensitive) ||  myString.endsWith(".rar", Qt::CaseInsensitive) || myString.endsWith(".tar", Qt::CaseInsensitive) ||
myString.endsWith(".tar.gz", Qt::CaseInsensitive), myString.endsWith(".7z", Qt::CaseInsensitive))
{

在最后两个 endsWith 调用之间使用 || 而不是 ,

, 是一个计算两边的运算符,但只返回其表达式的右侧

关于c++ - QString::endsWith() 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33784386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com