将字符串转换为char指针可指向的char数组/值的最有效方法是什么

时间:2012-11-21 07:50:19

标签: c++ arrays string char memcpy

如果我有一个字符串:

std::string Pooptacular = "Pooptacular"

我希望将它转换为char数组,我有一些选择 一个是:

char* poopCArr = Pooptacular.c_str();

或者我可以用memcpy或strcpy等做一些事情。

我想知道的是,这些方法中哪一种最快 或最有效率。换句话说,如果我应该使用哪种方法 我在一个程序中运行了几十万次?

1 个答案:

答案 0 :(得分:1)

如果您只需要一个指向数据的只读指针,请使用c_str。它没有转换任何东西。它只是让您访问已分配的缓冲区string。当然,如果要更改它,则必须将其复制到新缓冲区,如果这样做,不要指望您的更改会反映在原始string对象中。