同様の問い合わせがたくさんありますが、私の場合、何が機能していないのかわかりません。
int mysize = 0;
mysize = sizeof(samplestring) / sizeof(*samplestring);
std::cout << mysize << '\n' << samplestring;
これは以下を出力します:
4
Press 'q' to quit.
どうしてそれは可能ですか?4は間違いなくこの文字列のサイズではありません。私は次のことを試しましたが、同じ結果になりました:
mysize = sizeof(samplestring) / sizeof(samplestring[0]);
編集:わかりました、これは宣言です:
char *samplestring = "Start.";
私はC++を使用していますが、char*のみを受け入れる関数を使用する必要があります。コードの後半で、次のように新しい文字列をその変数に割り当てます。
samplestring = "Press 'r' for red text.";
はい、コンパイラは警告を表示しますが、上書きできない場合に別の文字列を使用するにはどうすればよいかわかりません...