アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在、VisualC++2005の「空のCRLプロジェクト」からコツコツプログラムを組んでいます。
ファイルを読み込む→処理→他のファイルに結果を出力という単純なプログラムなのですが、入力、出力ファイル名を共に、コンソール画面から入力するというところで困っています。

コンソールから読み込みについては、バッチの利用も考えてmain関数で、
 int main(array<String^>^ (変数名))
とし、String^型でファイル名を読み込みました。
しかし、実際にファイルを呼び出す際には、
 fopen_s(&fp, (char*型ファイル名) ,"a");
を利用するため、char*型に変換しなければなりません。

ToCharArrayを試しましたが、
'cli::array<Type,dimension> ^' から 'char *' に変換できません。
とエラーが出ますし(過去の質問にもあります)、キャストも同様です。
ファイル名の読み込みをchar*にもしてみましたが、String^にするようにとのエラーが出ました。
何か良い解決方法はないでしょうか。

(1)String^型からChar*へ変換する
(2)String^型でファイルを開く(fopen_s以外の)関数を探す
などの解決法があると思いますが、どちらでもかまいません。
ご存知の方、よろしくお願いします。
情報が不足していましたら、どのような情報が必要かもお教えください。
よろしくお願いします。

A 回答 (3件)

お手軽に~



String^ saki;
char moto[32];

sprintf( moto, "%s", saki );

エラー処理考えてませんが・・・ーー;
    • good
    • 2
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
この方法も試みたのですが、数値を出力することが目的であるため、文字列の変換が面倒になってしまい、今回はNo.1さんの方法を利用することにしました。
Stirng型の文字列をそのまま出力する際に利用してみようと思います。
ありがとうございました。

お礼日時:2006/09/30 20:37

System::String^ → char*


下記URL参照

参考URL:http://msdn2.microsoft.com/ja-jp/library/d1ae6tz …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
この方法を使って、プログラムを完成させることができました。
ヘルプやネットはチェックしたつもりだったのですが、探し方が悪かったみたいです。
ありがとうございました。

お礼日時:2006/09/30 20:33

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