私はCでコードを持っています、
struct sFoo
{
char* name;
char* fullname;
};
sFoo* foo = (sFoo*)malloc(sizeof(sFoo));
foo->name = (char*)malloc(10);
strcpy(foo->name, "HELLO");
C++ の strcpy に相当するものは何ですか?
std::string を使用できます
int main()
{
std::string myString = "Hello, there!";
std::string myOtherString = myString; //Makes a copy of myString
}
std::string は標準の C++ 文字列型であり、コピーをそのように処理します!
std::string の代わりに char* を使用したい場合、からの汎用メソッド<algorithm>
はstd::copy
.
char* hello = "HELLO";
std::copy(hello, hello + 6, foo->name);
もちろん、strlen(hello) + 1)
hello の内容が動的に決定される場合は、6 の代わりに使用できます。
ただし、結局のところ、単純に を使用する方がエラーが発生しにくい可能性がありますstrcpy
。