gpt4 book ai didi

c++ - 如何将 char* (具有每个可能的值)分配给 C++ 字符串

转载 作者:太空狗 更新时间:2023-10-29 23:47:16 26 4
gpt4 key购买 nike

我在 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::stringstd::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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com