
c++で、以下のようなコードは問題ないでしょうか?
// chrの中身の小文字を大文字にする
void func(char* chr);
std::string str("aaa");
const char* str_p = std.c_str();
func((char*)str_p); ←これは大丈夫ですか?
//このあとstrに対して文字列を追加したりいろいろ処理する。
このようにc_strで取得したconst char*をconstをはずして
強引にいじくることは問題ないでしょうか?

No.3
- 回答日時:
>強引にいじくることは問題ないでしょうか?
問題です。やってはいけません。
戻り値が const char* である
というのは、それが示す文字配列を加工対象にできない、
してはいけないというライブラリ側の意思表示と捉えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CStringからchar*への型変換に...
-
char*を初期化したいのですが
-
char型にint型の数値を代入する。
-
構造体・ビットフィールドのvol...
-
fstream型オブジェクトを関数の...
-
文字列str内の全ての数字を...
-
char形配列の整数を抜き出したい
-
C言語 strstrの実装
-
char[]をDWORDに格納するには
-
多次元配列のメモリ解放
-
可変長構造体をファイルから読...
-
文字列の演算
-
C言語にて構造体のメンバがNULL...
-
文字列置換のアルゴリズムを教...
-
fgetc( )の戻り値はなぜ整数??
-
new charとnew char[N]の違いは?
-
C言語で文字列をかえす正しい書...
-
c言語でポインタ変数を用いた配...
-
関数から配列を返すには?
-
C言語 配列の長さの上限
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CStringからchar*への型変換に...
-
C言語のintとcharの違いってな...
-
char*を初期化したいのですが
-
char型にint型の数値を代入する。
-
C言語にて構造体のメンバがNULL...
-
C++17で、unsigned char * 配列...
-
new charとnew char[N]の違いは?
-
入力された文字列の中の数字を...
-
char 文字列型 の表現範囲が-12...
-
文字列str内の全ての数字を...
-
C言語のプログラムについてです
-
ポインタ配列
-
fstream型オブジェクトを関数の...
-
strcat関数を自作したいです
-
動的メモリの初期化方法について。
-
ポインタで詰まりました;
-
c言語でポインタ変数を用いた配...
-
C++Builder 2009 テキスト...
-
C言語 strstrの実装
-
fgetc( )の戻り値はなぜ整数??
おすすめ情報