文字配列の操作について
Posted: 2010年8月29日(日) 18:43
基礎的な事だとは思いますがご教示ください。
以下のプログラムは制作中のゲームの一部を簡略化したものです。
実行するとコメント部分でアクセス違反が発生します。
TEXTはchar*型なので文字列の先頭アドレスが格納されている。
TEXTはchar型で文字が格納されている。
そこで代入によってTEXTの文字を書き変え可能だと考えたのですが、上述の通りアクセス違反が出ます。
どのようにすれば文字を書き換えられるのでしょうか。
開発環境:VC++2008EE
以下のプログラムは制作中のゲームの一部を簡略化したものです。
実行するとコメント部分でアクセス違反が発生します。
#include <iostream> char* TEXT; void main(){ TEXT = new char[9+1]; //null文字用に+1 TEXT = "ABCDEFGHI"; std::cout << TEXT << std::endl; std::cout << "0~9までの番号を入力すると該当する文字が「J」になります(したい)" << std::endl; int i; std::cin >> i; TEXT = 'J'; //ここでアクセス違反が発生 std::cout << TEXT << std::endl; delete[/url] TEXT; TEXT = 0; return; }
TEXTはchar*型なので文字列の先頭アドレスが格納されている。
TEXTはchar型で文字が格納されている。
そこで代入によってTEXTの文字を書き変え可能だと考えたのですが、上述の通りアクセス違反が出ます。
どのようにすれば文字を書き換えられるのでしょうか。
開発環境:VC++2008EE