草庐IT

string-comparison-functions

全部标签

java tor String.Match()用于整数

我正在尝试从我的OCR文本检测器中获取某些数字。到目前为止,我还无法成功提取某种格式的数字。该数字看起来与此5225612832654455相似,通常该格式可能像xxxxxxxxxxxxxxxx我需要一个字符串匹配的正则是获得这样的数字。注意:图源还有其他数字,我需要避免在这里捕获是方法ListtextComponents=text.getComponents();for(TextcurrentText:textComponents){floatleft=translateX(currentText.getBoundingBox().left);floatbottom=translateY(c

c++ - std::string 与 unicode 的奇怪行为

我有以下代码:#includestd::stringeps("ε");intmain(){std::cout它以某种方式在Ubuntu上用g++和clang编译,甚至打印出正确的字符ε。我也有几乎相同的一段代码,它愉快地将ε和cin读入std::string。顺便说一下,eps.size()是2。我的问题是-它是如何运作的?我们如何将unicode字符插入到std::string中?我的猜测是操作系统使用unicode处理所有这些工作,但我不确定。编辑对于输出,我知道是终端负责向我显示正确的字符(在本例中为ε)。但是对于输入:cin将符号读取为''或任何其他空格字符(据我所知,逐字节)

c++ - utf-8 中 std::string 的子字符串? C++11

我需要获取假定为utf8的std::string中前N个字符的子字符串。我了解到.substr无法正常工作……正如……预期的那样。引用:我的字符串大概是这样的:任务:\n\n1亿2千匹 最佳答案 我found这段代码,我正要尝试一下。std::stringutf8_substr(conststd::string&str,unsignedintstart,unsignedintleng){if(leng==0){return"";}unsignedintc,i,ix,q,min=std::string::npos,max=std::s

c++ - C2280 : attempting to reference a deleted function (union, 结构体,复制构造函数)

当我尝试在VisualStudio2015中编译以下最小示例时,我遇到了误导性错误消息的问题:classVector{floatx;floaty;public:Vector(floatx,floaty):x(x),y(y){}Vector&operator=(constVector&v){x=v.x;y=v.y;return*this;}//Vector(Vector&&)=default;};classRect{public:union{struct{Vectorp1,p2;};struct{floatp1x,p1y,p2x,p2y;};};Rect():p1(0,0),p2(0,0

C++中String归纳,相关接口模拟实现,深度理解

目录前言(string简介,及深度理解重要性)一、string的实例化构造1.利用string类接口的构造2.string构造的模拟实现1、构造函数2、拷贝构造二、string的静态变量1、npos介绍及原理​编辑2、npos模拟三、string的遍历方法1、下标遍历下标方括号模拟2、迭代器遍历迭代器及相关函数模拟3、范围for遍历模拟使用范围for的注意事项四、string的容量操作1、max_size():2、size()与capacity()模拟及其原理3、reserve()reserve()原理及其模拟4、resize()五、string的增删查改1、push_back()模拟实现2、

c++ - 为什么我可以将接受值的可调用对象传递给接受引用的 std::function?

当我声明一个变量时function,编译器仍然允许我分配一个接受值的lambda:functionhandler;handler=[](Foof){};(参见http://cpp.sh/5dsp)因此当处理程序被调用时,会生成一个拷贝。标准的哪一部分允许这样做?有没有一种方法可以标记客户端代码这将是一个问题(某种static_assert之类的?)? 最佳答案 根据[func.wrap.func.con]std::function有一个templatefunction&operator=(F&&f);附上以下备注:Thisassig

c++ - 使用带有 std::optional 参数的 std::function 重载歧义

这是一个简单的示例程序:usingfn_string=function;usingfn_optional_string=function&)>;voidfoo(fn_string){cout&){});//它有2个重载foo()--一个使用string的函数参数和另一个optional.为什么第二次调用foo()模棱两可?有没有简单的方法来修复它?没有Actor?更新以上是我试图解决的以下现实世界问题的过度简化示例,即:usingdelegate=variant,function,function&)>>;structfoo{voidadd_delegate(delegatefn){f

c++ - gcc -finline-functions 行为?

我将gcc与-finline-functions优化一起用于发布构建。为了对抗代码膨胀,因为我在嵌入式系统上工作,我想说不要内联特定功能。显而易见的方法是通过函数属性,即attribute(noinline)。问题是当我打开作为-O3开关一部分的全局-finline-functions优化时,这似乎不起作用。它也与它被模板化有关,因为同一函数的非模板化版本没有像预期的那样被内联。有人知道当这个全局开关打开时如何控制内联吗?代码如下:#include#includeusingnamespacestd;classBase{public:templatestatic_Type_fooT(_T

c# - "C# base class virtual function"- "override in Managed C++ ref class"

我有一个.NET_4ManagedC++ref类,它派生自用C#编写的.NET_4基类。C#基类:namespaceCore{publicclassResourceManager{publicclass_Resource{publicvirtualvoidDelete(){}}}}托管C++类:namespaceInput.DI{publicrefclassMouse:ResourceManager::_Resource{public:virtualvoidDelete(){}};}这是我遇到的错误:'Input::DI::Mouse::Delete':matchesbaserefcl

c++ - Visual C++ 2010 拒绝在调试时显示 std::string 值。显示 <Bad Ptr>

我有一种奇怪的感觉,好像这是最近才出现的问题,并且发生在两台不同的计算机上。当我调试并尝试查看来自STL的std::string的值时,它显示为值。它说它的大小是15,容量是一些乱码。数组值本身都显示CXX0030:错误:无法计算表达式。这非常令人沮丧,如果我在字符串上调用c_str并将其分配给char*或在需要时使用监视表达式,我仍然可以在调试时访问字符串值,但它非常乏味并且让生活变得非常艰难连续3天调试复杂问题。其他STL容器的内容显示得很好。这发生在两台不同计算机上的多个项目上,我很确定我已经为该项目设置了所有调试选项。没有优化,肯定会生成调试信息。