草庐IT

max_chars

全部标签

c++ - unsigned char 和 char 指针之间的区别

我对unsignedchar(在WinAPI中也是BYTE)和char指针之间的差异感到有点困惑。目前我正在处理一些基于ATL的遗留代码,我看到了很多如下所示的表达式:CAtlArrayrawContent;CALL_THE_FUNCTION_WHICH_FILLS_RAW_CONTENT(rawContent);returnArrayToUnicodeString(rawContent);//orreturnArrayToAnsiString(rawContent);现在,ArrayToXXString的实现如下所示:CStringAArrayToAnsiString(constCA

c++ - 无法将 char* 转换为 WCHAR* [qt/c++]

我正在开发QT应用程序,我需要包含纯C代码。当我在code::blocks中编译这段代码时,它是成功的,可能是一个警告,但是当我尝试在QTcreator中编译它时,我得到了这4个错误。cannotconvert'char*'to'WCHAR*'forargument'1'to'UINTGetSystemDirectoryW(WCHAR*,UINT)'cannotconvert'char*'to'constWCHAR*'forargument'1'to'HINSTANCE__*LoadLibraryW(constWCHAR*)'cannotconvert'char*'to'WCHAR*'

c++ - C strings vs const char* 让我感到困惑......请帮忙

我是一名C/C++初学者,试图构建一个看似非常简单的程序:它将文件加载到C字符串(constchar*)中。然而,尽管该程序非常简单,但它并没有按照我理解的方式工作。看一看:#include#includestd::stringloadStringFromFile(constchar*file){std::ifstreamshader_file(file,std::ifstream::in);std::stringstr((std::istreambuf_iterator(shader_file)),std::istreambuf_iterator());returnstr;}cons

c++ - char * 和 const_cast<char*>(string.c_str()) 有什么区别

我使用外部库来处理两个应用程序之间的udp(OSC)通信。为了格式化将要发送的消息,库需要一个char*但我从UI中得到一个字符串,我必须转换它。当我处理代码的其他部分时,udp部分是硬编码的:char*endofMess="fromsetEndMess";并且工作正常。我认为使用我的字符串很容易让它工作并写道:std::strings="fromsetEndMess";char*endofMess=const_cast(s.c_str());但与第一个例子不同,我收到的消息格式正确,现在我只收到乱码。有人知道它可能来自哪里吗?谢谢!马修编辑:我使用的代码:每次OSCVal发送消息的方

c++ - 在 C++ 中将字符串 vector 转换为 char 数组

我正在尝试将字符串vector转换为C++中的字符数组。更具体地说,我正在尝试做的是使用以下命令拆分一个shell命令,例如“ls–latr”:istringstreamf(x);while(getline(f,x,'')){strings.push_back(x);}我相信这会给我strings[0]=="ls"和strings[1]=="-latr"。然后我正在尝试执行以下操作:execvp(strings[0],strings);但是,我得到这个错误:error:cannotconvert‘std::basic_string,std::allocator>’to‘constcha

c++ - 如何干净地使用:const char* 和 std::string?

tl:drHowcanIconcatenateconstchar*withstd::string,neatlyandelegantly,withoutmultiplefunctioncalls.Ideallyinonefunctioncallandhavetheoutputbeaconstchar*.Isthisimpossible,whatisanoptimumsolution?初始问题到目前为止,我在C++中遇到的最大障碍是它如何处理字符串。在我看来,在所有广泛使用的语言中,它处理字符串的能力最差。我见过其他与此类似的问题,这些问题的答案要么是“使用std::string”,要么只

c++ - lambda 函数中的 max_element

关闭。这个问题需要debuggingdetails.它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。关闭7年前。Improvethisquestion我实现了这个功能,但它仍然给出以下错误,我无法弄清楚为什么../usr/include/c++/4.8/bits/stl_algo.h:6325:error:nomatchforcallto'(Farm::killHeaviestAnimalOnFarm

C++ 从 char* 到 char 的无效转换 (char* = *string.begin() )

我有以下代码:std::stringextract(){fstreamopenfile("/home/name/Documents/testfile");std::stringteststring;longlocation=4;longlength=2;teststring.resize(length);char*begin=*teststring.begin();openfile.seekp(location);openfile.read(begin,length);returnteststring;}此代码应该返回在文件中找到的字符串。例如,如果文件的内容是StackOverflo

c++ - printf int 到带有左填充空格的 char 数组

我有一点脑死亡的时刻。我必须将int的字符串表示形式存储到char[]中,但ascii表示形式必须用空格填充。snprintf将完成这项工作。chardata[6];intmsg_len=10;std::snprintf(data,6,"%*d",5,msg_len);//"10"我只是想知道是否有更优雅的方法来做到这一点。我可以访问C++11还有一点问题,我认为snprintf也会添加一个终止符,我必须避免这种情况。我可以有一个中间缓冲区并将其复制到我的数据中,但这会增加额外的复杂性。我需要就地进行,因为这些数据结构是我必须发送到接受这种格式输入的服务器的消息的一部分。消息看起来像:

c++ - 将 std::shared_ptr<char> 转换为 std::shared_ptr<unsigned char>

有什么好的方法可以将shared_ptr转换为shared_ptr吗?我想到了以下但它看起来不是很干净。intmain(intargc,char**argv){std::shared_ptrp1=std::make_shared();std::shared_ptrp2=std::shared_ptr(reinterpret_cast(p1.get()),[p1](unsignedchar*){});} 最佳答案 你正在做的事情有一个现成的功能,reinterpret_pointer_cast:std::shared_ptrp2=st