草庐IT

clipboard_string

全部标签

c++ - 从 std::istreambuf_iterator 创建 std::string,奇怪的语法怪癖

我在某处发现了以下用于将文件读入字符串的习语:std::ifstreamfile("path/to/some/file.ext");std::stringcontents(std::istreambuf_iterator(file),(std::istreambuf_iterator()));它现在工作得很好。但是,如果我删除第二个迭代器参数周围的括号,即:std::stringcontents(std::istreambuf_iterator(file),std::istreambuf_iterator());一旦我尝试在字符串对象上调用任何方法,例如:constchar*buffe

c++ - 为什么 std::to_string 没有短重载?为什么没有 noexcept?

有人知道为什么C++11标准第21.5节中声明的各种to_string函数缺少short和unsignedshort的重载吗?为什么不声明这些函数noexcept呢?这是完整的重载集:stringto_string(intval);stringto_string(unsignedval);stringto_string(longval);stringto_string(unsignedlongval);stringto_string(longlongval);stringto_string(unsignedlonglongval);stringto_string(floatval);s

c++ - strlen 和 sizeof 对于基于指针和数组的 String 初始化的不同答案

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicates:C:differencesbetweenpointerandarrayDifferentsizeofresults基本上,我是这样做的......char*str1="Sanjeev";charstr2[]="Sanjeev";printf("%d%d\n",strlen(str1),sizeof(str1));printf("%d%d\n",strlen(str2),sizeof(str2));我的输出是7478我无法给出为什么sizeofstr1为4的原因。请解释它们之间的区别。

C++14 - std::revers(ed) std::string 是否在开头包含空字符?

如果我在std::string变量上使用std::reverse,我可以安全地假设空字符'\0'会放在字符串的开头吗? 最佳答案 不,它不会包含NUL字节(除非你在那里放一个)。前向迭代器也不包含NUL字节,它只会迭代字符串本身中的字符。但是,NUL字节保证在.c_str()或.data()的末尾之后。示例程序:#include#include#includeintmain(){std::strings="Hello";std::cout(*i)(*i)输出:Forwards:H72e101l108l108o111Backwards

c++ - 通过套接字发送和接收 std::string

我在SO上看到过类似的问题,但没有回答我的问题。我在这里尝试发送和接收字符串:我正在发送std::string:if((bytecount=send(hsock,input_string.c_str(),input_string.length(),0))==-1)这个能不能正确接收?if((bytecount=recv(*csock,rcv.c_str(),rcv.length(),0))==-1)我收到错误:error:invalidconversionfrom‘constvoid*’to‘void*’[-fpermissive]`onrecvline!

c++ - 以安全的方式从 char* 创建 std::string

我有一个char*p,它指向一个以\0结尾的字符串。如何以异常安全的方式从中创建C++string?这是一个不安全的版本:stringfoo(){char*p=get_string();stringstr(p);free(p);returnstr;}一个明显的解决方案是try-catch-有更简单的方法吗? 最佳答案 您可以使用C++11中的shared_ptr或Boost:stringfoo(){shared_ptrp(get_string(),&free);stringstr(p.get());returnstr;}这使用了sh

c++ - 将 uint64_t 转换为 std::string

如何将uint64_t值传输到std::string?我需要构造包含此值的std::string例如这样的事情:voidgenString(uint64_tval){std::stringstr;//.....somecodeforstrstr+=(unsignedint)val;//????}谢谢 最佳答案 在C++11中你可以只使用:std::to_string()它在标题中定义http://www.cplusplus.com/reference/string/to_string/

c++ - 为什么将 std::string 写入 cout 会导致未知运算符 << 错误?

当我尝试从我的方法之一输出返回值时出现错误:Error:Nooperator"main.cpp#includeusingnamespacestd;#include"Book.h"intmain(){book.setTitle("AdvancedC++Programming");book.setAuthorName("Linda","Smith");book.setPublisher("MicrosoftPress","OneMicrosoftWay","Redmond");book.setPrice(49.99);cout>i;return0;};返回字符串的方法:stringBook

c++ - std::string::c_str() 是否总是返回以 null 结尾的字符串?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:stringc_str()vs.data()我使用strncpy(dest,src_string,32)将std::string转换为char[32]来创建我的C++类使用遗留C代码。但是std::string的c_str()方法是否总是返回以null结尾的字符串?

没有发现能够从类型[java.lang.string]转换为[org.springframework.data.data.solr.core.geo.geo.point]的转换器。

我正在尝试使用Spring-Data-Solr,以通过我的SpringBoot应用程序访问Solr实例。我有以下bean类:@SolrDocument(solrCoreName="associations")publicclassAssociationimplementsPlusimpleEntityI{@Id@IndexedprivateStringid;@IndexedprivateStringname;@IndexedprivatePointlocation;@IndexedprivateStringdescription;@IndexedprivateSettags;@Indexedp