ここに短いコードがありますが、コンパイルされません。どのようなアイデアが間違っていた?文字列をコピーするためのC++ strcpy
char *str;
strcpy(str, "Hello world");
cout << str[6] << ' ' << &str[6] << endl;
ここに短いコードがありますが、コンパイルされません。どのようなアイデアが間違っていた?文字列をコピーするためのC++ strcpy
char *str;
strcpy(str, "Hello world");
cout << str[6] << ' ' << &str[6] << endl;
文字列のメモリを割り当てる必要があります。メモリにポインタを割り当てるmallocを使うべきです。そのWhen to use malloc for char pointers
について
詳細を試してみてください:あなたがこれを行うと
char *str = malloc(sizeof(char) * 1024);
これはコンパイルエラーを修正しません。また、なぜこれが助けになるのか説明しておけば助けになります。 – juanchopanza
'char str [16]'はもっと良いIMOになります。 –
は、私はそれがSTR [16] をchar型試してみました、それはまだ 重大\tコード\t説明\tプロジェクト\tファイル\tライン\t抑制状態\t C4996 \t「strcpyの」 エラーと同じエラーを与える:この関数や変数が安全でない可能性があります。代わりにstrcpy_sの使用を検討してください。廃止予定を無効にするには、_CRT_SECURE_NO_WARNINGSを使用してください。詳細については、オンラインヘルプを参照してください。 –
、* *ポインタ 'str'ポイントを行いどこ? –
申し訳ありませんが、int main()関数 –
また、ビルドエラーに関する質問を投稿するときは、未編集の完全なエラーを質問本体に含めてください。そして、[最小限の、完全で検証可能な例](http://stackoverflow.com/help/mcve)を作成してください。ここでは、エラーが発生した行(コメントなど)をマークします。最後に[良い質問をする方法を読む](http://stackoverflow.com/help/how-to-ask)をご覧ください。 –