我正在尝试重新编程,特别是控制台游戏.我听说诅咒对此有好处,所以我找到了一个curses教程,我正在进入.我正在使用C++,当然我想利用std :: string,但函数getstr()只接受char*.有没有办法将字符串作为char*传递,或者我将不得不放弃使用C++字符串?
您仍然可以使用C++ std::string,但是您必须将内容复制到缓冲区(std::vector<char>会很好)并在使用期望可写char*缓冲区的函数时将其复制回来.
可以安全地传递给期望可修改的 C风格数组的函数的唯一C++容器是std::vector(不要忘记resize()它或从一开始就创建它足够大)和boost::array(或者std::array从C++ 11开始).