• ベストアンサー

変換できない

現在C言語で簡単な顧客管理システムを作っていますが、どうしても解決できないエラーがありますので、質問させていただきます。 エラー内容は以下のようなものです。 cpp(334) : error C2664: 'strlen' : 1 番目の引数を 'int' から 'const char *' に変換できません。 334行目のソースは、 if(strlen(iBanngou) == 0) です。変数iBanngouは、gets(x)のxをstrlen関数を使って、xの長さをint型のiBanngouに代入したものです。iBanngouをいろいろエラー判定にかけ、何事もなかったらint touroku(DATE *pstr, int *hako, int *hako2)に格納する仕組みになっております。 どのように修正すれば良いか、ご教授していただけるとありがたいです。何卒よろしくお願い致します。

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

こういった質問をする場合 そのエラーになった行のソースのみではなくその前後の数行の関連部分を投稿しましょう ついでに その前後の処理に対するコメントを付け加えましょう 判定をどのように行いたいのかの具体例を明示すると解決が早い場合があります strlenは文字列の長さを返す関数です ココに 整数型などの文字列以外の引数を与えても期待する動作はしません 単に 数値の比較をしたいのであれば if ( iBanngou > 0 ) {   // 文字列x が 1文字以上なら } といった具合になるかと ・・・

その他の回答 (2)

回答No.2

>どのように修正すれば良いか、ご教授していただけるとありがたいです。 エラーメッセージの内容そのまんまですね。 >cpp(334) : error C2664: 'strlen' : 1 番目の引数を 'int' から 'const char *' に変換できません。 「関数の引数として使用できる型が違ってる」と。 strlen()のリファレンスを読んでください。

  • titokani
  • ベストアンサー率19% (341/1726)
回答No.1

>どのように修正すれば良いか、ご教授していただけるとありがたいです。何卒よろしくお願い致します。 いったいどのような動作を期待しているのかわからないので、修正方法もわかりません。 >iBanngouをいろいろエラー判定にかけ とは、具体的にどのようなエラー判定なのでしょうか。

関連するQ&A

専門家に質問してみよう