在c++中,把一个字符*多次放在另一个字符之间的最好方法是什么?
What is the best way to put a char* in between another one multiple times in c++?
我有一个char*
看起来像:
opt = "abcdefghijklmnop";
现在我有另一个(const) char*
像;
home = getenv("HOME");
我想做的是通过将char* home
放在中间来改变char* opt
,例如:
opt = "a" + home + "b" + home + "c" + home + ...;
最好的方法是什么?
如果我们将"最佳"定义为容易出错的程度,并考虑到易用性,那么在我看来,最好的方法是不使用char*
,而是使用std::string
。使用std::string
,您可以执行
std::string foo = "World";
std::string builder = "Hello " + foo + "!";
结果Hello World!
std::string
也有一个接受const char*
或char*
的构造函数,所以你仍然可以在返回它们的函数中使用它。还有一个c_str()
成员函数,它将返回const char*
,因此您仍然可以将其用于接受const char*
或char*
的函数
你最好使用std::string如@kerrek说的,如果使用char *是必要的,你可以使用strcpy函数如这里所述
相关文章:
- 使用.find函数在c++中查找字符和另一个字符之间的大小
- 函数签名与调用的函数不匹配,常量字符[]和字符*之间的区别?
- 相同字符之间的最小距离
- 常量字符 [] 和常量字符*之间的区别
- 字符* 和 std::字符串和常量字符*之间的转换
- 为什么常量字符[]和常量字符*之间的比较不同
- 字符* 和无符号字符* 之间不兼容
- 文件名如何在"char"和2字节字符之间工作
- 如何在多个不同字符之间获取多个字符串
- 如何从两个字符之间的文件中提取整数
- 删除两个字符之间的文本
- 在代表 UTF8 的有符号字符和无符号字符之间进行转换
- 在屏幕上拼接的字符之间创建空格 - SDL
- 参数表中字符 [N] 和字符 (&)[N] 之间的区别
- 从隐藏在随机字符之间的文件中提取整数
- 字符串中字符之间的空格
- 常量字符 [] 和字符 [] 之间的区别
- 将两个 '' 字符之间的子字符串提取到单独的数组中
- 为什么我不能在字符 * 和无符号字符 * 之间static_cast?
- 从 c++ 到 Java 行的命名管道连接,每个字符之间有空格