- ベストアンサー
C/C++関数間でのStringクラスの扱い
以下のようなコードを実行してみましたが思い通りに動いてくれません. "sample"という文字列がstrへとコピーされると思ったのですが. stringクラスのc_str()メソッドはconst char*だと言っているので無理矢理キャストしたのが原因でしょうか.stringクラスは記憶領域を自動で変更してくれるのではないのですか.それともこの挙動は仕様ですか. -------- 以下コード -------- #include <iostream> #include <string> using namespace std; int func(char *); int main(void) { string str(""); func((char *)str.c_str()); cout << "String: " << str << endl; return EXIT_SUCCESS; } int func(char *buf) { buf = "sample"; return 0; } -------- 以上コード --------
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (5)
- koko_u_
- ベストアンサー率18% (459/2509)
回答No.6
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.4
- mesoneer
- ベストアンサー率20% (2/10)
回答No.3
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.2
- koko_u_
- ベストアンサー率18% (459/2509)
回答No.1
お礼
すみません.ご連絡が遅れました. そうですね.そうすることにします. みなさんありがとうございました.