作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 C++ 中。我正在尝试将 char 数组附加到 C++ 字符串。唯一的问题是这个数组可以有所有可能的值,负数、正数和 0。所以当我将这个数组赋给字符串时,它会在某个点停止,因为它找到了一个 0 值。
1)字符串可以追加这些值吗?或者他们必须严格从 1 到 127?如果属实,
2) 有没有办法让字符串赋值继续进行,即使它找到了 0?
最佳答案
string::append( const char* s, size_t n )
append()
过载应该做你想做的。假设cpp_string
是你的 std::string
变量或引用和 c_string_ptr
是指向字符数组的指针:
cpp_string.append( c_string_ptr, number_of_bytes);
但是请注意,std::string
是 std::basic_string<char>
的类型定义.自 char
可能未在您的平台上签名 您可能无法获得所需的比较行为。你应该确保 char
在您的平台上签名,或者您可能希望使用自己的 typedef 来防止将来平台(或构建)发生变化时出现问题:
typedef std::basic_string<signed char> sstring; // or whatever name you like
关于c++ - 如何将 char* (具有每个可能的值)分配给 C++ 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6495705/
我是一名优秀的程序员,十分优秀!