No.3ベストアンサー
- 回答日時:
★普通にファイルのオープン、クローズ処理は理解していますか?
・ここから、説明した方が良いでしょうか?
・また、サンプル・プログラムの『const char *s;』とは何のことですか?
・とりあえず下にサンプルを載せます。
サンプル:
/*
構造体の設定は前回のサンプルを参考にして下さい
*/
if ( GetOpenFileName(&ofn) ){
ifstream fin( ofn.lpstrFile ); ←読み込みオープン
ofstream fout( "output.txt" ); ←書き込みオープン
char buff[ 512 ];
while ( fin.getline(buff,sizeof(buff)) ){ ←行単位で読み込む
fout << buff << endl; ←行単位で書き込む
}
}
最後に:
・上記のサンプルは『開くダイアログ』で選択したファイルを1行単位でカレント・フォルダの
『output.txt』に出力します。→ファイルのコピー処理みたいな感じですね。
・『ifstream fin()』の部分で選択されたファイルパス『ofn.lpstrFile』を参照して使っています。
これでファイルをオープンして、その後ファイル処理を行います。→今回のサンプルでは『output.txt』に
行単位で出力しています。よって、選択ファイルのコピーを『output.txt』ファイル名で作成する
ことになります。
・以上。おわり。
返答が遅れてしまい、申し訳ありません。
現在、大学4年でプログラムより先に論文を提出しなければならなくなりました。それが終わりましたら、Oh-Orangeさんのご指導を参考にプログラムを作成できればと思っております。
暖かい助言の言葉に大変、感謝しております。
No.2
- 回答日時:
★『ファイルパス』を取得して何を行いたいのですか?
・例えとして、メモ帳ソフトがファイルを開きたいときに『コモンコントロール』の
『ファイルを開く』ダイアログを使ってファイルのパス名を取得します。その後は、
このパス名のファイルを fopen 関数のようなファイルをオープンする処理で使います。
・構造体メンバの『lpstrFile』の文字列は普通に参照すれば良いと思います。
サンプル:
OPENFILENAME ofn = { 0 }; ←構造体の初期化
TCHAR szPath[ 512 ]; ←ここに選択したファイルパスが格納される(フルパス名)
TCHAR szFile[ 512 ]; ←ここに選択したファイル名が格納される(パス以外の名前)
ofn.lStructSize = sizeof( OPENFILENAME );
ofn.hwndOwner = hWnd; ←ウインドウ・ハンドル
ofn.lpstrFilter = TEXT("テキスト文書(*.txt)\0*.txt\0")TEXT("すべてのファイル(*.*)\0*.*\0");
ofn.nFilterIndex = 0;
ofn.lpstrFile = szPath;
ofn.nMaxFile = sizeof( szPath );
ofn.lpstrFileTitle = szFile;
ofn.nMaxFileTitle = sizeof( szFile );
ofn.lpstrInitialDir = TEXT("C:\\"); ←初期フォルダ位置
ofn.lpstrTitle = TEXT("開くよ!"); ←ダイアログのタイトル
ofn.Flags = OFN_FILEMUSTEXIST;
if ( GetOpenFileName(&ofn) ){ ←ここで『ファイルを開く』ダイアログが出る
FILE *fp;
if ( (fp = fopen(szPath,"r")) != NULL ){ ←ここで『ofn.lpstrFile』の選択されたファイルパスを参照して使う
/*
ここでファイル処理など
*/
fclose( fp );
}
}
最後に:
・『コモンコントロール』の『ファイルを開く』ダイアログでファイルパスを取得して sk23 さんは
どんな処理を行おうとしているのですか?
ここがよく分かりません。
・上記のサンプルは、GetOpenFileName 関数で『ファイルを開く』ダイアログを出して、ファイルパス
を取得した後、fopen 関数でファイルをオープンしています。その後、コメントの部分でファイルの
操作などを行ってクローズ処理をする事になります。
・また、ファイルパスだけを MessageBox 関数などで表示させてファイル操作を行わない場合もありますね。
・とにかく『ファイルパス』を取得して『何』を行いたいのですか?
・以上。また、補足要求になってしまいました。
この回答への補足
ファイルパスを用いてなにがしたいかというのは、Oh-Orangeさんの予想通り、ファイルをオープンして処理を行いたいからです。
>>構造体メンバの『lpstrFile』の文字列は普通に参照すれば良いと思います。
とはどのようにしたらよいのでしょうか。
開くのには『ifstream fin();』という形をとろうと思っているのですが。
初歩的な質問で申し訳ありません。
No.1
- 回答日時:
★コモンコントロールの『ファイルを開く』ですか?
・それは『GetOpenFileName』関数に渡す OPENFILENAME 構造体の『lpstrFile』にパスが
選択されると格納されるので自分で管理・処理して下さい。分かりますか?
・それから、『const char *s;』と言われてもサンプルソースを見ないと分かりません。
・以上。補足要求します。
参考URL:http://wisdom.sakura.ne.jp/system/winapi/common/ …
この回答への補足
回答ありがとうございます。
アプリケーションソフトでのファイルを開くなので、コモンコントロールのものだと思います。
ファイルを選択して格納された『lpstrFile』の値を用いたい場合はどうしたらよいのでしょうか?
プログラム作成経験や知識が乏しく、申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excel マクロ PDF化の際のエラ...
-
サブフォルダ含むフォルダ内の...
-
ExcelVBA 文字コード変換
-
EXCEL VBAを使ったファイル解析...
-
複数のワークブックのVBAを変更...
-
vbsでのアスタリスクとファイル...
-
VBA、ファイル名検索から開く、...
-
EXCEL VBA tif画像のプロパティ...
-
ffftpでファイル取得が0バイト...
-
「エクセルファイルが開いてい...
-
[EXCEL-VBA]UsrFormよりD&Dファ...
-
VBAでのファイル名と更新日(作...
-
VB6でUTF-8ファイルの読取りを
-
コモンダイアログでフォルダを...
-
ファイルを複数選択した時のフ...
-
VBからExcelファイルを開くとき...
-
ファイルのアクセス回数について
-
エクセルのプロパティーでセキ...
-
エクセルで複数のコメントのサ...
-
カンマ区切りのCSVファイルから...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaサブフォルダーをワイルドカ...
-
動かなくなってしまった古いVBA...
-
vbs ブック共有を解除
-
サブフォルダ含むフォルダ内の...
-
ExcelVBA 文字コード変換
-
Accessのウインドウサイズの固定
-
FileDialog オブジェクトでファ...
-
「エクセルファイルが開いてい...
-
vbsでのアスタリスクとファイル...
-
VB6でUTF-8ファイルの読取りを
-
ffftpでファイル取得が0バイト...
-
excel マクロ PDF化の際のエラ...
-
VBAでフォルダ内のhtmlファイル...
-
エクセルのVBAで開いている...
-
ファイルを開く時間測定のスク...
-
Long型で表現できないファイル...
-
複数のワークブックのVBAを変更...
-
VBからExcelファイルを開くとき...
-
【ACCESS VBA】アクセスからデ...
-
VBA、ファイル名検索から開く、...
おすすめ情報