秘密基地、どこに作った?

#include <iostream>
#include <fstream>

int main( int argc, char** argv )
{
  if( argc == 1 )
    return -1;

  std::ifstream ifs( argv[1] );

  if( ifs.is_open() == false )
    return -1;

  return 0;
}

C++で上記のようなコードを書いてコンパイルし、出来上がった実行ファイルにアスキーフォーマットのテキストファイルをドロップしたのですが、どうしてもファイルの展開が成功しません。
確認したところ、一応argv[1]には正しいフルパスのファイル名が入っていました。

なぜファイルの展開に失敗するのでしょうか?
よろしくお願いします。


/*
WindowsXP Professional32bit
Core2Duo 2.44GHz
VisualStudio2005 Academic Edition
VisualStudio2008 Academic Edition
*/

A 回答 (3件)

localeの問題かと。


locale::global(locale("japanese"));
とか入れればいいことがあるかもです。
後はググるなりしたのを参考にしてみたりしてみてください。
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng. …
    • good
    • 0
この回答へのお礼

locale::global(locale("japanese"));を入れてみたところとてもいいことがありました。

ありがとうございました。

お礼日時:2009/09/13 21:10

以下の問題の可能性はないでしょうか?


http://oshiete1.goo.ne.jp/qa5264436.html
    • good
    • 0

「ファイルの展開」って何ですか?


示されたコードでは単にストリームを開き、すぐさま閉じるだけのことしかしていませんけども。

この回答への補足

ありがとうございます。

補足させてください。
なぜかストリームを開くことに失敗しているのです。

補足日時:2009/09/11 17:36
    • good
    • 0

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


おすすめ情報