- ベストアンサー
VC++ exeからdatファイルが開けるのに、VSのF5で実行した際には開けません
- VC++ exeからはdatファイルが開けるが、VSのF5実行で開けない問題が発生しています。
- VS2010 ProのVC++、Win7環境で、Debugフォルダ内の「test.dat」ファイルがF5実行時に開けません。
- Debugフォルダ内のexeァイルから実行すれば問題なく「test.dat」ファイルが開けるが、F5実行時は開けません。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
フルパス指定でも良いけど…。 ALT+F7でVCのプロパティ ページが開ける。 VC2008では左側に「デバッグ」というのがあってそこを押す。 右側に「作業ディレクトリ」というのがあるので、そこにファイルがあるディレクトリを指定する。 これによればプログラムを修正する必要はない。
その他の回答 (3)
- maiko0318
- ベストアンサー率21% (1483/6969)
>>warning : unrecognized character escape sequence おお、おもったとおりw \ ではなくて \\ にすれば直ると思います。
お礼
どうもありがとうございます!!m(_ _)m ¥→\\にいたしましたところ、エラーは消えましたがファイルをまだ開くことが出来ません。。。何故でございましょう(?_?) ご親切にどうもありがとうございました!m(_ _)m
- mk48a
- ベストアンサー率56% (1133/2007)
VisualStutioから実行した場合のカレントディレクトリはexeの場所ではないですよ。 なので、ファイル名だけではアクセスできません。 以下の方法で確認してみてください。 http://rarara.cafe.coocan.jp/vc/vctips/api.htm exeと同じフォルダを指定したければ、実行形式のパスを取得してデータファイルのパスを作成してください。 実行形式のパスの取得方法も上記リンクに記載されています。
お礼
>VisualStutioから実行した場合のカレントディレクトリはexeの場所ではないですよ。 なんとそうなのでございましたか。(・o・)勉強になります。どうもありがとうございますm(_ _)m ご提示いただけた方法を使って fstream fs(PATH & "test.dat", ios_base::in)のように しておけば、他のPCでも汎用性をもてるプログラムになるな~、などと考えてトライしておりますが、サイトをそのままコピペして >char szPath[_MAX_PATH]; >GetModuleFileName( NULL, szPath, MAX_PATH); としますと、コンパイル時にエラーが >error: argument of type "char *" is incompatible with parameter of type "LPWSTR" と出てまいりました。そこで、 >char szCurrentDir[_MAX_PATH]; ↓ >LPWSTR szCurrentDir[_MAX_PATH]; と書き換えてみたり、 >GetModuleFileName( NULL, szPath, MAX_PATH); ↓ >GetModuleFileName( NULL, *szPath, MAX_PATH); と書き換えておりますが、うまくいきません。。。orz VBの経験は5年以上ございますが、C++は難しいでございますね。。。 もう少し頑張ってまいります!!! ご親切にアドバイスいただき誠にありがとうございました!!m(_ _)m
- maiko0318
- ベストアンサー率21% (1483/6969)
触ったことはないですが、F5のカレントフォルダーが違うのではないでしょうか? であれば、 fstream fs("test.dat", ios_base::in); ではなくて fstream fs("c:\test.dat", ios_base::in); などと、フルパスで指定してみたらどうなるかな? c:\test.dat だか c:\\test.dat かもしれない。
お礼
どうもありがとうございます!! こんなに早く見ていただけて非常に嬉しいですm(_ _)m "text.dat" ↓ "C:\Users\(ユーザー名)\documents\Visual Studio 2010\Projects\(プロジェクト名)\Debug\test.dat" に書き換えてみましたところ、新しいエラーで >warning : unrecognized character escape sequence なるものが出てまいりましたので、英語サイトを検索しております。パスの文字列の中には使えないような文字はなさそうなのでございますが。。。 ご親切にどうもありがとうございました!!m(_ _)m
お礼
どうもありがとうございます!!m(_ _)m 開けました^^ ^^ ^^ VS2010にも同様の設定がございました。 この度は誠にありがとうございました!!!!!!m(_ _)m