• ベストアンサー

キャストの仕方(std::stringをconst char*へ)を教えてください。

c++で作成したものをコンパイルしたところ、 下記のようなエラーメッセージが表示されました。 cannot convert ‘std::string’ to ‘const char*’ for argument ‘1’ to ‘int stat(const char*, stat*) 自分の解釈では、 stat関数の第1引数がconst char*なのに、 プログラムの中では  #include <sys/types.h>  #include <sys/stat.h>  using namespace std;   :  string aaa;   :  struct stat st;  if(stat(aaa,&st)!=-1){・・・   : という感じで記述しているので、 型が変換できない という感じのことを言っているのかなぁ・・・? と思っているのですが、間違いですか? また、間違えていないとしたら・・・、 このstringで宣言しているaaaをchar*(?)にキャストする方法 と言いますか、このエラーを解決する方法を教えてください。 毎度のことですが、理解不十分で、質問の意味が通じにくいかも しれませんが、どうか宜しくお願いいたします。m(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • MrBan
  • ベストアンサー率53% (331/615)
回答No.2

 if(stat(aaa.c_str(),&st)!=-1){・・・

mamappi82
質問者

お礼

即効、解決です。 ありがとうございました。m(___)m

その他の回答 (1)

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

c_str()

mamappi82
質問者

お礼

回答ありがとうございました。 回答順ではkoko_uさんの方が早かったのですが、 No2.の方の回答には、 c_str()の使い方をまで記載してあったので、 ポイントを次点にさせていただきました。 ご了承くださいませ。 ありがとうございました。m(_ _)m

関連するQ&A