dポイントプレゼントキャンペーン実施中!

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

A 回答 (2件)

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2008/05/28 08:39

c_str()

    • good
    • 0
この回答へのお礼

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

お礼日時:2008/05/28 08:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!