• ベストアンサー

red hat 8.0 の PROGRAMING

この度、red hat linux 8.0を入れてみたのですが、その環境での C言語の挙動がおかしいのですが、いままでと何か変わったのでしょうか? 例えば、 ---------------------- #include <stdio.h> int main() { printf("AAAA"); return 0; } ---------------------- このような簡単なものを、コンパイルして実行してみると何と驚いたことに、"AAAA" が画面上に出力されません。なぜ??

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

シェルは何を使っていますか? プロンプトはどう設定していますか? シェルによって、あるいはプロンプトの設定によって、プロンプトが必ず行頭に表示される設定になっている場合は、改行なしのAAAAが上書きされて消えてしまうことになります。 プロンプトを%の1文字にしてみるか、AAAAに\nをつけて試してください。

y_s-u
質問者

お礼

ありがとうございます。 家に帰ったら試してみます。

y_s-u
質問者

補足

シェルはbashです。 プロンプトはデフォルトのままで、自分では特に設定はしていません。

その他の回答 (2)

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.3

外しましたか… > 画面への出力系当たりがredhat8.0 になって変わってしまっ > たのでしょうか? さーて? 手元の環境(kterm, console)では再現しません つーか,再現したら大変. 端末ソフトは何をお使いですか?

y_s-u
質問者

お礼

いろいろとありがとうございました。 試してみたところおそらく、プロンプトが必ず行頭に来ることが問題らしいです。なので、少ない出力は、プロンプトの下敷きになったようです。

y_s-u
質問者

補足

ご回答ありがとうございます。 端末ソフトはgnomeのノーマルな端末です。 ktermも試してみたのですが。。。 シェルの問題なのでしょうか?

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.1

ひょっとして,実行バイナリは test という名前で $ test <enter> とかやってませんか? それなら何も表示されなくて,当たり前です. $ which test $ man test とかで調べてみましょう.

y_s-u
質問者

補足

いえ、実行バイナリはいろいろ変えてやってみたのですが。。。実行バイナリ名は a.out、e、etc... としてみました。 ちなみに $a.out > dddd などとリダイレクトしてみるとそのファイルには出力結果が書き込まれています。 画面への出力系当たりがredhat8.0 になって変わってしまったのでしょうか?

関連するQ&A