-2
A
答えて
4
リテラル文字列によって占有されたメモリに変数msg1
ポイント。文字列リテラルは変更できません。文字列リテラルを変更しようとすると、未定義の動作になります。 C標準(6.4.5文字列リテラル)から
- これらの配列は、それらの要素が>適切な値を持って設けられ区別されるかどうかを指定されていません。 プログラムがこのような 配列を変更しようとすると、その動作は未定義です。
あなたは、標準C関数strcpy
を使用して文字配列に文字列をコピーする場合、配列はそのゼロを停止するなどの文字列を収容するのに十分なメモリを有していなければならないことを考慮してください。
コードを有効にするには、ポインタを文字配列に置き換えます。例えば
char msg1[15] = "Hello World";
//...
strcpy(msg1, "Hello New York");
関連する問題
- 1. 文字ポインタをCの別の文字ポインタにstrcpyなしでコピー
- 2. のstrcpy関数へのポインタを渡す
- 3. strcpyポインタ関数への参照
- 4. 文字列にstrcpyを使用する?
- 5. 文字列ポインタのstrcpyはエラーを返します
- 6. 文字列へのポインタ - C
- 7. 文字列へのポインタ
- 8. C++:文字列へのポインタ
- 9. C - strcpyポインタ
- 10. C関数内の文字列へのポインタを使用して
- 11. 文字へのポインタへのポインタを関数に渡す
- 12. 文字の配列へのポインタのリセット
- 13. 文字列へのポインタの初期化
- 14. 文字列へのポインタの配列
- 15. 関数内の文字列へのポインタ
- 16. C文字列の配列へのポインタ
- 17. 文字列へのポインタの配列
- 18. Cのconst文字列へのポインタ
- 19. 文字列の配列内のstrcpy
- 20. ポインタへの文字配列の引き渡しと文字列の連結
- 21. メモリフォールトと文字列へのポインタ
- 22. fortran fgldrawpixels文字* 8データへのポインタ
- 23. チャネルへのポインタの使用
- 24. charポインタとchar配列のstrcpyオーバーフローC
- 25. 文字列へのポインタから文字列をコピー
- 26. 文字列へのポインタの配列への変換
- 27. strcpyを使って文字列をポインタの演算子を介して構造体のメンバにコピーする
- 28. Javascript ISO形式(タイムゾーン付き)の文字列への日付
- 29. は、リンクリストに「ポインタ」と「ポインタへのポインタ」の使用に混乱
- 30. 日付の文字列への変換
[コードまたはエラーメッセージの画像を投稿しないでください。](http://meta.stackoverflow.com/q/303812/1679849)strcpyの上使用している場合、[プログラムが中断したの –
可能な複製charポインタ? (char配列で正常に動作)](http://stackoverflow.com/questions/5645949/program-aborts-when-using-strcpy-on-a-char-pointer-works-fine-on-char-array) –
Cのchar \ [\]とchar \ *の違いは何ですか?(http://stackoverflow.com/questions/1704407/what-is-the-difference-between-char-s) -and-char-s-in-c) –