C2057:定数式が必要。C2466:サイズが0の配列を割りまたは宣言しましょう。C2057:定数式が必要。C2466:サイズが0の配列を割りまたは宣言しましょう。();}今、コーディングをしていたのですが多数のエラーが出て対処のしかたがわからないので投稿させてもらいました。C:\\abc\\def\\mybook.Txtという絶対パスを取り出しそれぞれ、ドライブ、パス、ファイル名、拡張子と分ける。それから以下の処理を行う。・ファイル名は全角のカタカナがあったら半角カタカナに変換。・拡張子は大文字のものがあったら小文字に変換。・変換したものを表示ということをしたいのですが、どのようにすればいいのでしょうか。全角のカタカナを半角のカタカナに変換する関数が作れなくて・・・ご教授のほうをよろしくお願いします。かずまさん、せっかく載せてもらったコードなのですがエラーがでました。パラメーターと互換性がありませんこのようにしてみてください。パラメーターと互換性がありませんとでました。&fd));ここがエラーの対象みたいです。パラメーターと互換性がありませんとでました。&fd));ここがエラーの対象みたいです。FindNextFileの後ろにもAを追加してください。C2057:定数式が必要。C2466:サイズが0の配列を割りまたは宣言しましょう。C2057:定数式が必要。C2466:サイズが0の配列を割りまたは宣言しましょう。();}今、コーディングをしていたのですが多数のエラーが出て対処のしかたがわからないので投稿させてもらいました。C:\\abc\\def\\mybook.Txtという絶対パスを取り出しそれぞれ、ドライブ、パス、ファイル名、拡張子と分ける。それから以下の処理を行う。・ファイル名は全角のカタカナがあったら半角カタカナに変換。・拡張子は大文字のものがあったら小文字に変換。・変換したものを表示ということをしたいのですが、どのようにすればいいのでしょうか。全角のカタカナを半角のカタカナに変換する関数が作れなくて・・・ご教授のほうをよろしくお願いします。みけさん、わざわざありがとうございます。失礼ながら今外出中でしてコンパイルするのは12時くらいになりそうです。あと、申し訳ないのですが上記のコードのアドバイスを頂けないでしょうか。あと、申し訳ないのですが上記のコードのアドバイスを頂けないでしょうか。これでエラーは消えるかもしれません。C2057:定数式が必要。C2466:サイズが0の配列を割りまたは宣言しましょう。C2057:定数式が必要。C2466:サイズが0の配列を割りまたは宣言しましょう。charに全角カタカナは入りません。設計の変更が必要です。文字をキーボードから入力して標準入力ではなくキーボードから入力すればいいのでしたら、ダイアログを作成してテキストボックスに入力させ、GetWindowTextW関数を用いてwchar_t型でパスを取得すれば、(多くの)全角文字も半角文字も1要素で表せるので、実装が楽になります。_splitpath_sやprintf(、isupper)は使えないかもしれません。wchar_t[]型のメッセージの表示にはMessaageBoxW関数などが使えます。//もしファイル名が大文字でかつカタカナなら半角にする大文字のカタカナとは何ですか?同じ条件を2回並べていて無駄に見えますし、C言語の標準関数のisupperはカタカナかを判定する関数ではありません。//もしファイル名が大文字でかつカタカナなら半角にする大文字のカタカナとは何ですか?同じ条件を2回並べていて無駄に見えますし、C言語の標準関数のisupperはカタカナかを判定する関数ではありません。すみません、全角のカタカナでした。全角とカタカナというのを判定したかったのですが間違えていたみたいです。あと、申し訳ないのですが上記のコードのアドバイスを頂けないでしょうか。charに全角カタカナは入りません。設計の変更が必要です。文字をキーボードから入力して標準入力ではなくキーボードから入力すればいいのでしたら、ダイアログを作成してテキストボックスに入力させ、GetWindowTextW関数を用いてwchar_t型でパスを取得すれば、(多くの)全角文字も半角文字も1要素で表せるので、実装が楽になります。_splitpath_sやprintf(、isupper)は使えないかもしれません。wchar_t[]型のメッセージの表示にはMessaageBoxW関数などが使えます。設計の変更というとやり直しということですよね。application)と書かれているウインドウが表示されました。中止を選択するとデバック画面でドライブ、パス、ファイル名、拡張子が分けて表示されたところで終わってました。文字を一つ一つ修正するところがわるかったのでしょうか。4年前とりあえず、かずまさんのプログラムを何故動かせないのか理解してはどうでしょうか。プロジェクトのプロパティで、文字セットをUNICODEからマルチバイトに変えてみてください。↑のキーワードをいろいろ調べてみましょう。しないと、みけCATさんのアドバイスも、不思議な呪文で終わってしまいます。application)と書かれているウインドウが表示されました。中止を選択するとデバック画面でドライブ、パス、ファイル名、拡張子が分けて表示されたところで終わってました。文字を一つ一つ修正するところがわるかったのでしょうか。以下のis_upper関数を定義し、isupperの呼び出しを全てis_upperに置き換えてください。application)と書かれているウインドウが表示されました。中止を選択するとデバック画面でドライブ、パス、ファイル名、拡張子が分けて表示されたところで終わってました。文字を一つ一つ修正するところがわるかったのでしょうか。以下のis_upper関数を定義し、isupperの呼び出しを全てis_upperに置き換えてください。エラー画面みたいなのはでなくなりました!ですが動作が停止して、先ほど表示されていたところまでしか出なくてやはり文字修正の処理が行われていませんでした。動作が停止して、printfの引数で確保された領域の外にアクセスしており、printfにポインタとして不正な値が渡された結果、死んでいるのでしょう。szExt);としてください。これはもう書き直したほうがいいですよね・・・そうですね。wchar_tを用いた方が楽でしょう。カタカナの全角→半角の変換は、最悪テーブルを作って線形探索すればできるはずです。4年前みけさん、今日はありがとうございました。printfのところを書き直してコンパイルしたら動作は停止することがなくなりました。大文字を小文字にするといった処理はされずそのままでした。一から書き直してみます。0;}これは無事に動作することが出来たのですが、どういった処理が行われているのでしょうか。failedと表示され、ヒットしたらfilenameが表示されるものと理解していいのでしょうか。最後になのですがダイアログを作ってプログラムを組んでいくことはC言語のみで可能なのでしょうか。今日はありがとうございました。お世話になると思います。ダイアログを作ってプログラムを組んでいくことはC言語のみで可能なのでしょうか。ダイアログは「リソース」を使って作ると楽です。「リソース」は「リソーススクリプト」をコンパイルすることて作るので、C言語のみではできません。「リソース」を使わず、自分でウィンドウを作って部品を配置することも可能です。API)のみで可能です。いうのがありまして、全角⇔半角の変換なんかをやってくれるんですが、この場合は使えないようですね(なんかいい方法があるかもしれませんが)。昔作って某所へ投稿したプログラムを少し、かえてみました。