次のコードを使用して、文字列をすべて大文字に変換しようとしています。
int client::get_upper(char*item_in)
{
int k ;
char * temp_str;
int length = strlen(item_in);
temp_str = new char [length+1];
for(k = 0; k < length; ++k)
temp_str[k] = toupper(item_in[k]);
temp_str[k] = '\0';
for(k = 0; k < length; ++k)
item_in[k] = temp_str[k];
return 0;
}
しかし、そうしようとすると、Visual Studio から場所 xxxxxxxx を書き込むアクセス違反が発生します。これはクラス用なので、実際の文字列を使用することは制限されています。