C++をDebianlinux11 bullseye amd64で使ってプログラミングしています。コンパイラはg++(10.2.1)です。
とある目的でstring型をchar型に変換したいです。
ネットで調べ、stringにc_str()なるメンバ関数があることを知り、
string tempstr="abc";
char* tempchar=tempstr.c_str();
としたところ、 「error: invalid conversation from 'const char*' to 'char*'」とコンパイラに怒られます。
constがついているといろいろ不都合なので、constがない状態で変換したいのですが、どうすれば良いでしょうか。
お知恵をお貸しいただけますと幸いです。
> constがついているといろいろ不都合なので、constがない状態で変換したいのですが
それをどのように使うのでしょうか。
当方、複数台のPCを連携させてプログラムを実行するMPIプログラムを作ろうとしています。(openmpiというソフトを用いています)
言語はc++もサポートしているので、開発自体はc++です。
そして、MPI_Send,MPI_Recvという関数を用いてPC間で変数をやり取りすることを考えています。
この際、charでやり取りするのがかんたんなので、stringをcharに変換しようとした次第です。
そして、char*型の変数ではうまく行くのですが、const char*型の変数ではうまく行きません…。
(openmpiが内部的にポインタをいじっているのかもしれません。)
そういった具合で、stringをconst のつかないchar型に変換したいのです。
自己解決いたしました。
>maisumakun様
自己完結する形となり、申し訳ございません。
考えてくださいまして、ありがとうございました。
回答1件
あなたの回答
tips
プレビュー