在c++字符串中省略空字符串结束符
omitting the null string terminator in c++ string
在我的小项目中,我试图散列一些位图,位图就像:"BMP1/0 位图数据"。我正在使用我在互联网上找到的md5哈希库,它的工作原理很简单:
std::string md5(const std::string);
问题是,因为我在内存的中间有一个字符串终止符,如果我试图从这个内存中创建一个字符串,我只能有第一部分,而不是位图数据。我的问题是,我能不能在这里结束字符串,然后把所有的数据都放进去。
如果你看一下std::string
提供的构造函数,你会发现在许多构造函数中,除了以null结尾的字符串作为参数的构造函数(5)之外,还有一个构造函数接受指向字符串的指针和字符计数(4)。描述中特别提到指向的字符串可能包含null字符。这意味着空字符不会终止字符串。
相关文章:
- 当字符串为"\0"时如何结束 2D 字符数组?
- C++ char 数组特征:为什么字符串在数组结束之前停止?
- 无法打印带有标准::结束的字符串
- 永无止境的 while-循环C++即在输入字符串 == no 时结束
- gvim 换行应该结束当前字符串并在下一行开始一个新的字符串
- 如何使std::getline在字符串流结束时通知我
- 字符串文本的C++宏开始迭代器和结束迭代器
- 结束进程错误代码 -1,如果访问结构的字符串字段
- 正则表达式在开头单独匹配单词,或者在输入结束时通过不重复字符串附加到某些内容但附加到某些内容
- std::字符串在开始和结束之间替换
- 为什么我读的所有字符串在打印它们时都以相等的方式结束
- 替换字符,如替换全部(字符串,开始,结束,"_","-")
- 使用模板<类输入迭代器>字符串(输入迭代器开始,输入迭代器结束)时出现奇怪的错误;
- 在开始和结束处添加的C++字符串
- 结束字符串标记中的while循环
- 如何使一个函数,声明为字符串,结束行
- 从char数组中获取从起始索引到结束的字符串
- 字符串短语以空格结束
- 有一个字符串如何从第一个' /r/n/r/n '得到它的内容,直到2行从字符串结束
- 字符串结束字符会损坏内存吗?缓冲区[大小]='\0';