私はCスタイル文字列にstd::string
を変換するためにc_str()
を使用していたが、私はc_str()
が想定しているNULL終端で上書き最後の文字を見ていない上にアレイ状に表示されませんでしたこのプログラムに追加します。私はそこにNULL終端を期待していたとしてd
が印刷(c
に追加)されている理由私が求めています何ヌル終端はstrcpyの-INGの
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main()
{
string s = "helloworld";
char c[10];
strcpy(c, s.c_str());
cout << c << endl;
return 0;
}
です。私はここで何が欠けていますか?
は 'strcpy'は、それが書き込み文字列*後ターミネータ*を置きます。バッファーが小さすぎる場合は、それが問題です。 –