如何正确使用char[int]

how to properly use char[int]

本文关键字:int char 何正确      更新时间:2023-10-16

我正试图将一个std::字符串复制到char*中,所以我按照以下方式进行:

    char porta[10];
std::string p = "7855";
p[p.length()] = '';
std::copy(p.begin(), p.end(), porta);

当我这样做时,我得到了"7855ìos",我试图用char*替换porta的数据类型,但这仍然是一样的。

请问如何在porta中获得"7855"?

提前感谢!

您尝试过std::string::c_str()吗?

正如Kiske1所说,如果你想要一个C字符串,你可以使用c_str()来获得一个以NULL结尾的字符串。如果您想在char数组中复制该字符串,也可以这样做:

#include <string>
#include <iostream>
int main()
{
    // Be careful about overflow!
    char porta[10];
    std::string p = "7855";
    std::copy(p.c_str(), p.c_str() + p.length() + 1,  porta);
    std::cout << porta << std::endl;
    return 0;
}