草庐IT

CHAR_LENGTH

全部标签

C++ char*和string互转

在编写代码的时候直接使用char* 和"xxxx"字符串比较是否相等,判断总是错误,需要把char*转为string再作比较,即可。char*属于,string属于。下面我将分别介绍char*类型转化为string类型与string类型转化为char*类型1、char* 转为 string方法一:char*name;stringsoftwareName=name;方法二:累加法(此处没有法一简便,但是string转化为char*用这种思路更为简便)。stringsoftwareName="";for(inti=0;name[i]!='\0';i++){softwareName+=name[i]

JSON parse error: Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backsla

JSONparseerror:Illegalunquotedcharacter((CTRL-CHAR,code10)):hastobeescapedusingbackslashtobeincludedinstringvalue;nestedexceptioniscom.fasterxml.jackson.databind.JsonMappingException:Illegalunquotedcharacter((CTRL-CHAR,code10)):hastobeescapedusingbackslashtobeincludedinstringvalue\nat[Source:(Pushba

AES解密报错java.security.InvalidKeyException: Invalid AES key length: xx bytes

一、前言由于与其它系统接口对接,需要进行加密处理。对接系统采用AES加密方式,作为接收方获取加密内容,通过AES解密拿到数据。解密过程中遇到报错如下:java.security.InvalidKeyException:InvalidAESkeylength:20bytes二、InvalidAESkeylength:20bytes的解决方法出现此错误,主要原因是秘钥长度不符合要求所导致的。AES允许128位,192位或256位密钥长度。这也就意味着秘钥只能是16,24或32个字节。话不多说,代码呈现如下:publicclassAESUtil{ privatestaticfinalStringAE

c++ - 是否有必要为 char 数组调用 delete[] 与 delete?

我正在使用一个同事编写的库,发现valgrind正在吐出与delete相关的错误。问题是有像这样的字符数组分配char*s=newchar[n];稍后跟进deletes而不是delete[]s他告诉我,区别实际上是delete[]s会在s中的每个位置调用对象的析构函数(如果它有的话),在这种情况不是因为它是原始类型。我相信这是真的。所以deletes本身并不是真正的错误,valgrind只是非常彻底。它仍然肯定会释放与s关联的所有内存吗? 最佳答案 如果您使用new[]分配数组,则必须使用delete[]销毁它。一般来说,函数ope

c++ - 错误 : no matching function for call to ‘std::vector<std::__cxx11::basic_string<char>>::push_back(int&)’

我是C++的新手。当我运行我的代码时出现此错误:(BigSorting.cpp:Infunction‘intmain(int,constchar**)’:BigSorting.cpp:13:22:error:nomatchingfunctionforcallto‘std::vector>::push_back(int&)’v.push_back(m);^Infileincludedfrom/usr/include/c++/8.1.1/vector:64,fromBigSorting.cpp:2:/usr/include/c++/8.1.1/bits/stl_vector.h:1074:

c++ - 将 Boost FileSystem3 迭代器转换为 const char*

我正在使用BoostFileSystem3循环遍历目录中的一些文件,我需要将文件名转换为char*以用于另一个库,不幸的是我的C++foo缺失,任何人都可以帮忙吗?intmain(intargc,char*argv[]){pathp(argv[1]);//preadsclearerthanargv[1]inthefollowingcodetry{if(exists(p))//doespactuallyexist?{if(is_regular_file(p))//isparegularfile?coutvec;//storepaths,vecv;//sowecansortthemlate

c++ - double 到 unsigned int/char

我读了here,即:根据C99§6.3.1.4脚注50:Theremainderingoperationperformedwhenavalueofintegertypeisconvertedtounsignedtypeneednotbeperformedwhenavalueofrealfloatingtypeisconvertedtounsignedtype.Thus,therangeofportablerealfloatingvaluesis(−1,Utype_MAX+1).现在,我对以下之间的细微差别感兴趣(这次是针对C++03!):doubled1=257;doubled2=-2

java - java函数中static const char *的等价性

我经常在C++中使用这个习语:/*returntype*/foo(/*parameters*/){staticconstchar*bar="Bar";/*somecodehere*/}在内部这被添加到字符串文字表中。这段Java代码是否做类似的事情:/*returntype*/foo(/*parameters*/){finalStringbar="Bar";/*somecodehere*/}还是我无意中引入了效率低下的问题? 最佳答案 字符串在Java中是不可变的。这意味着您不必通过提示让JVM知道它不会更改和优化它。字符串文字被保

c++ - 如何将 'wchar_t *' 转换为 'const char *'

如何将'wchar_t*'转换为'constchar*'?使用C++MFCVS2010。谢谢。 最佳答案 由于问题是关于MFC的,我建议如下:CStringAa="Test";CStringWw=L"Test";a=CStringA(w);w=CStringW(a);我通常需要以下转换:CStringt=_T("Test");//dependsonTCHARtypea=CStringA(t);//doesnotdependonTCHARtypew=CStringW(t);CStringW和CStringA分别有运算符LPCWSTR和

C++ 将 char 转换为 const char *

我正在尝试使用beginthreadex创建一个线程,该线程将运行一个以char作为参数的函数。不过,我不擅长C++,而且我不知道如何将char转换为constchar,beginthreadex需要它作为其参数。有没有办法做到这一点?我发现很多关于将char转换为constchar的问题,而不是转换为constchar*。 最佳答案 chara='z';constchar*b=&a;当然,这是在栈上。如果你需要它在堆上,chara='z';constchar*b=newchar(a);