草庐IT

string-free

全部标签

c++ - map 上的无效模板参数 std::map< std::string, Stock*> &stocks

我有声明(或类似的)std::map&stocks;贯穿我的代码。Eclipse不喜欢这样并产生“无效的模板参数”错误。库存声明为:classStock{public:Stock(std::string,qbbo::Financial_status_indicator,qbbo::Security_class,qbbo::Current_trading_state,qbbo::Market_category,qbbo::Reg_sho_action);~Stock();voidsetFinancialStatusIndicator(qbbo::Financial_status_indi

c++ - 如何将 utf16 ushort 数组转换为 utf8 std::string?

目前我正在编写一个插件,它只是一个现有库的包装器。插件的主机传递给我一个utf-16格式的字符串,定义如下typedefunsignedshortPA_Unichar;并且包装库只接受一个constchar*或一个std::stringutf-8格式的字符串我试着写一个像这样的转换函数std::stringtoUtf8(constPA_Unichar*data){std::wstring_convert,char16_t>convert;returnstd::string(convert.to_bytes(static_cast(data));}但显然这不起作用,给我一个编译错误“st

c++ - 使用 std::string 在 DLL 中创建类。 C4251 警告

我想在DLL中实现一个简单的类,例如:classMY_EXPORT_IMPORTMyClass{public://std::stringanyPublicStr;//seepoint3protected:std::stringanyStr;};问题是VisualC++编译器(在本例中为2013)抛出以下警告:C:...MyClass.hpp:X:warning:C4251:'MyClass::postfix':class'std::basic_string,std::allocator>'needstohavedll-interfacetobeusedbyclientsofstruct

c++ - 为什么 const void* 没有 std::free 重载?

我使用一个externC函数返回动态分配的constchar*.我想使用unique_ptr对其进行管理。但是没有std::free(constvoid*)重载所以我得到invalidconversionfrom'constvoid*'to'void*'并且必须使用const_cast().这只是标准库的缺陷还是背后有其他原因? 最佳答案 std::free继承自C标准库。C没有重载,因此无法继承const重载。虽然C++标准库已经用一些有用的重载扩展了继承的C库,但是free还没有添加const重载。要么从未考虑过这样的过载,要么

c++ - 编写加载 msvcr80.dll 并公开 free() 函数的 DLL

我有一个依赖于MSVCR80并分配我需要清理的资源的第三方DLL。该库不公开用于执行此操作的免费函数。相反,我需要加载相同的运行时库并手动调用free函数。作为解决方法,我正在尝试编写一个“包装器”DLL,它加载正确的运行时并公开free函数。此DLL是使用VisualStudio2010创建的,并且依赖于单独的运行时库。执行LoadLibrary("msvcr80.dll")失败并出现错误R6034,我猜这是因为明显的问题。甚至可以使用LoadLibrary加载msvcr80.dll吗?我是否需要创建一个list,将其嵌入DLL并将msvcr80.dll存储在与我的包装器DLL相同的

c++ - 我可以重载 CArchive << 运算符以使用 std::string 吗?

我在我的MFC应用程序中使用std::string,我想将它存储在文档的Serialize()函数中。我不想将它们存储为CString,因为它在那里写了自己的东西,我的目标是创建一个我知道其格式并且可以被其他应用程序读取而无需CString的文件。所以我想将我的std::strings存储为4字节(int)字符串长度,后跟包含该字符串的该大小的缓冲区。voidCMyDoc::Serialize(CArchive&ar){std::stringtheString;if(ar.IsStoring()){//TODO:addstoringcodehereintsize=theString.s

如何使用strspn模仿std :: string的find_first_not_of

我正在尝试创建类似于std::String的自定义字符串类。而且我在实现“find_first_not_of”时遇到了麻烦。这是我的测试代码#includeclassString{private:char*m_data;intm_length;char*alloc(intsize);intlength()const{returnm_length;}intsize()const{returnm_length;}constchar*c_str()const{returnm_data;}public:String(constchar*str=0);intfind_first_not_of(const

如何在Android String XML文件中打印内容

我需要读取XML字符串文件的方法,因为我试图使程序读取字符串并将内容转换为另一种语言,以制作另一种用新语言的XML字符串文件看答案用于通过Java使用访问strings.xmlgetResources().getString(R.string.yourStringId)

c++ - 将 Python 3 Unicode 转换为 std::string 的简洁方法

我使用Python2API封装了很多C++(由于各种技术原因,我不能使用swig或boost.python之类的东西)。当我必须将一个字符串(通常是一个路径,总是ASCII)传递给C/C++时,我使用这样的东西:std::stringfile_name=PyString_AsString(py_file_name);if(PyErr_Occurred())returnNULL;现在我正在考虑更新到Python3,其中PyString_*方法不存在。我找到了onesolution那说我应该做这样的事情:PyObject*bytes=PyUnicode_AsUTF8String(py_fi

c++ - 为什么 gcc-4.9.2 不支持 std::string.insert(iterator, range) 返回迭代器

根据cppreference,C++11应该支持:templateiteratorinsert(const_iteratorpos,InputItfirst,InputItlast);但是当我尝试使用g++4.9.2编译以下代码时:std::stringstr{"helloworld"},addition{"hmy"};autoiter=str.erase(str.begin(),str.begin()+4);iter=str.insert(next(iter),addition.begin(),addition.end());//Error我收到以下错误(liveexample):e