ページ 11

コマンドプロンプトについて

Posted: 2008年9月16日(火) 13:47
by fight
C言語を使ってプログラミングをしている者です。コマンドプロンプトで大きい行列(特に列が大きい)の計算をすると上手く表示されなくなってしまいます。コマンドプロンプトのプロパティで横に長くするように設定を変えても上手くいきません。このような場合に何か解決する方法はありますか?どうかよろしくお願いします。

Re:コマンドプロンプトについて

Posted: 2008年9月16日(火) 14:06
by 御津凪
必ずコマンドプロンプト上に表示しなければならないわけではないのであれば、
いくつかの方法があります。

一つ目は、出力するデータをファイルに記録すること。
もう一つは、以下のようにして実行すること。
実行ファイル.exe > 書き出しファイル
後者の方を使用する場合で、VC++の場合、下記のようにすると出来ます。

1.プロジェクトのプロパティを開く
2.「デバッグ」カテゴリの「パラメータ(引数)」に、"> (出力ファイル名)"を入れる。
3.適用して実行する。

Re:コマンドプロンプトについて

Posted: 2008年9月16日(火) 14:08
by たかぎ
どんな内容を出力して、どう上手くいかないのかを補足してください。

Re:コマンドプロンプトについて

Posted: 2008年9月16日(火) 14:33
by fight
>たかぎさん
例えば簡単なものだと1行200列の行列の足し算をすると結果が2行以上で出てくるので・・・それを1行で表示するための方法が知りたいと思っています。

Re:コマンドプロンプトについて

Posted: 2008年9月16日(火) 14:50
by バグ
WIN32APIならば、SetConsoleScreenBufferSizeという関数で、ある程度までならバッファサイズを変更する事ができます。フォントの大きさや環境によって限界値が変わるようなので、fightさんの環境で試してみてください。

ただし、200個のデータの足し算となると1行に表示するのは厳しいんじゃないかとは思いますが…

Re:コマンドプロンプトについて

Posted: 2008年9月16日(火) 18:55
by たかぎ
1個あたりのデータが3桁以内であれば、幅3ピクセルのラスタフォントを使えば、区切りの空白も入れて、1列辺り12ピクセルですね。
200列であれば2400ピクセルですので、WQXGAのモニタを使えば折り返しなしで表示できます。

Re:コマンドプロンプトについて

Posted: 2008年9月16日(火) 19:13
by ibis
いや、モニタは関係無いですよ。
コマンドプロンプトはウィンドウ幅に上限があります。
最大化したらウィンドウの高さは大きくなるのですが、幅は変わらないですね。
コマンドプロンプトでは、多分どうやっても80桁までしか表示できないです。

Re:コマンドプロンプトについて

Posted: 2008年9月16日(火) 19:28
by 御津凪
プロパティで変更したコマンドプロンプトでそのプログラムを実行してみたら良いのではないでしょうか。
(画面バッファの幅を変更)

Re:コマンドプロンプトについて

Posted: 2008年9月16日(火) 19:47
by fight
たくさんのご回答ありがとうございました。皆さんにアドバイスをいただいたことを参考にしてこれからも勉強していこうと思います。

Re:コマンドプロンプトについて

Posted: 2008年9月16日(火) 20:31
by バグ
>ibisさん
Windows.hをインクルードできる環境ならば、私が前述した関数でサイズ変更できますよ。
横幅80は初期値なので変更しなければ最大化すると、この幅になります。

Re:コマンドプロンプトについて

Posted: 2008年9月16日(火) 20:53
by たかぎ
横幅は変更できますね。
ただ、モニタの解像度が低いと横スクロールバーが出てきますので、解像度の高いモニタが必要です。