▼スレッド
│
└◇1663:SSHでのプログラムの実行 [なかにし] 11/25 17:17
└◇1665:Re:SSHでのプログラムの実行 [はじめ] 11/25
└◇1668:Re[2]:SSHでのプログラムの実行 [なかにし] 11/26 <
突然で失礼します。スレッド一覧
現在、Visual C++(6.0)で開発したプログラムを実行しているのですが、
SSHで接続して実行すると、標準入力/出力が正常に再現されません。
例えば、
int main(){
int tmp;
printf("input number>");
scanf("%d",&temp);
printf("you input:%d\n",temp);
}
のようにして、実行すると、
----
input number>3
you input:3
----
を期待していたところ、
gccでコンパイルした場合はその通りになるのですが、
Visual C++でコンパイルすると、
----
3
input number>you input:3
----
となってしまいます。
ちなみに、sshではなくローカルで実行した場合、
環境変数に"tty"が含まれるとおかしくなり、
含まれないと正常に実行されます。
sshでログインしている場合には環境変数によらず失敗します。
もちろんcygwinからではなくms-dosプロンプトから実行すれば、
正常に動きます。
何とか開発環境はVisual C++にしたまま
解決する方法はないでしょうか?
よろしくお願いいたします。
あてずっぽです。あらかじめごめんなさい。スレッド一覧
ひとつめの printf() の後、scanf() の前、つまりこれらの
間に fflush() を入れてみたらどうかなと思いました。
おかげで何とか出力順序はできるようになりました。スレッド一覧
(Back Spaceを使うとおかしな挙動はしますが)。
fflush(stdout)で良いようですね。
fflushで検索をかけるとけっこうひっかかってきました。
cygwinに限定しないで探せばよかったようです。
貴重なアドバイスをありがとうございました。