いつもながらかなり初歩的な質問なんですが・・・
タイトルの通り、
標準入力ストリームにファイルを指定した時のデバッグについてなのですが、
なぜデバッグなしで実行で正常に動き、
デバッグで実行すると正常に動かないのですか?
環境はvista,
visual c++ 2008です。
[プロジェクト]→[(プロジェクト名)のプロジェクト]→[デバッグ]
のコマンド引数のところに
< a.txt > b.txt
と指定し、以下のコードをビルドします。
#include<stdio.h>
int main()
{
printf("テスト\n");
int c=getchar();
char i[2];
i[0]=c;
i[1]='\0';
printf("%s",i);
return 0;
}
a.txtの中はabcとだけ書いてあります。b.txtは中身なしですこの状況で
[デバッグ開始]をするとgetcharを呼び出したら何も返ってきません。
printf("テスト")が実行画面に出ているので、
うまく指定できてないと分かりました。
そこで、[デバッグなしで開始]を実行するとうまくいきます。
これはなぜでしょうか?
ブレイクポイントを立てたかったのですが、立てれません。。
何か良い解決方法はあるのでしょうか?
よろしくお願いします。
23:52修正