掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
エディットボックスに入力したファイルを取得したい。 (ID:68657)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ダイアログを表示し、エディットボックスにファイル名を入力してもらい、 そのファイルを開き、ファイルサイズを取得したいと考えていたのですが詰まってしまいました。 //グローバル変数 //格納用 char edit_str[256]; // ダイアログボックスのプロシージャ LRESULT CALLBACK MyDlgProc( HWND hDlgWnd, UINT msg, WPARAM wp, LPARAM lp) { switch( msg ){ case WM_INITDIALOG: SetDlgItemText( hDlgWnd, IDC_EDIT1, (LPTSTR)edit_str ); // エディトボックスに文字列を表示 return TRUE; case WM_COMMAND: switch( LOWORD( wp ) ){ case IDOK: //OKボタンを押したとき // エディットボックスに入力された文字列を取得 GetDlgItemText( hDlgWnd, IDC_EDIT1, (LPTSTR)edit_str, sizeof(edit_str) ); } int file() { // ファイルポインタ FILE* fp = fopen( (char*)edit_str, "rb" ); //fileがなければ if( !fp ){} //filesizeを取得 int size = fseek(fp, 0, SEEK_END); long insize = ftell(fp); fseek(fp, 0, SEEK_SET); return 0; } ファイルは実行ファイルのあるフォルダにあるものを指定します。 よくわからないのですが、なぜかfileopen()が成功するのとしないものがあります。 あとfileopen()が成功したものもその後でfilesizeを取得しようとしても ftell()が0を返してしまい正しい値が 取得できません。(そのファイルは空ではないです。) どうぞよろしくお願い致します。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.