• ベストアンサー

ファンクションキー非表示にしたい

C言語でdosのプログラムを開発してますけど、 25行モードに設定する方法が分かりません。 エスケープシーケンスで printf("\x1B[>3l"); があるみたいですが、 これはPC98のみだそうです。 どうすればいいですか?

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

  • ベストアンサー
  • edomin
  • ベストアンサー率32% (327/1003)
回答No.1

OSは何?

gatch_ky
質問者

補足

すいません。OSはpcdos2000です。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PC-DOS2000でファンクションキーを消したい

    C言語でIBM PC-DOS2000のプログラムを開発してますけど、 25行モードに設定する方法が分かりません。 エスケープシーケンスで printf("\x1B[>3l"); があるみたいですが、 これはPC98のみだそうです。 どうすればいいですか?

  • ”カラー表示プログラム”のソースコードは何を実現するものなの

    以下のプログラムは ”カラー表示プログラム”であるとかいてありましたので、これを記述して color。cpp  の名前で保存してコンパイルしてから #include <stdio.h> main() { printf("\x1b[4;36mColor Sample\x1b[4;m\n"); printf("\x1b[31mRed\n"); printf("\x1b[32mGreen\n"); printf("\x1b[33mYerrow\n"); printf("\x1b[34mBlue\n"); printf("\x1b[35mMagenta\n"); printf("\x1b[36mCyan\n"); printf("\x1b[37mWhite\n"); } 以下の  color.exe  をDOSで実行しましたら次のようになりました。 "\My Documents\C\color.exe" Color Sample Red Green Yerrow Blue Magenta Cyan White てっきり、カラー表示の帯のようなものができると、思っていましたが、色番の数字と m が再現されただけでした。  一体 これは 私の思い違いなのでしょうか? そもそもこの”カラー表示プログラム”のソースコードは何を実現するものなのでしょうか?  c言語はまだ始めたばかりで、つまずいてしまいました。「ひまわり」という日本語で記述できる簡単なプログラム などを参照しながら、同じようなことがないのかみてみましたが、文字色の変更、とか 色の番号を出すとかありますが、上のようなものは見当たりません。  つまずくと、先に進むのが、億劫になります。この基礎的な(たぶん)ことを教えていただければ ありがたいのですが。ちなみにこのことが書いてあるのは、『はじめてのc言語」  秀和システム 佐々木 整 1995・9 の本です。 このテキスト画面では、 ”color.exe" の実行画面の各行の先頭がおかしく表現されますが、正しくは、 ┛の左先に矢印←が付いたものです。

  • peek()の機能が使えれば・・・

    テキストモードで24×80のがその画面を準備し、"スペース"と"*"で画面上に図形を描き、どんな図形かを調べるプログラム http://www-itolab.ics.nitech.ac.jp/lecture/creport/enshu_kadai/practice5.html に置いてある"rec_angle.c"をUNIXで動くようにしたいのですが、できません。エラーの内容から A.1行目 #include "dos.h" B.3行目 #define VRAM 0xa000 C.148行目から193行目 IBM-PC用のcheck_point(),gotoxy(),cls()  D.195行目から225行目 PC98用のcheck_point(),gotoxy(),cls() 辺りが怪しいのです。実際にコンパイルするときはCとDのどちらかはコメントアウトしなければいけません。 上のURLではIBM用がコメント扱いになっています。(208行目の"/*"と219行目の"*/"は打ち間違いです。) そして方針としては (1)dos.h、int86、peekなどをUNIX上で使用できるような環境にする。 (2)IBM用の関数らを書き換える。 (3)PC98用の関数らを書き換える。 が考えられます。 自分としては(3)がいいと思っています。 203行目: dat=peek(VRAM,xy); 212行目: printf("\x1b{"); 223、4行目: printf("\x1b{"); printf("2J"); だけをUNIXで使えるものに置き換えればいいようなので。(自信がないですが) (1)、(2)については全くどうしていいか分かりません。 どのような方法でもいいのでUNIXで(それ難しい場合はせめてWINDOWSで)動くようにしたいのですが、どうかお助けください。どちらもGCCを使っています。

  • C言語

    C言語のプログラミングでコンパイルしたら 2-1.c:28:9: 警告: unknown escape sequence: '\211' 2-1.c:28:9: 警告: unknown escape sequence: '\211' とでました。 どういうことですか?

  • コマンドラインに出力した文字を消すには

    printf 関数などで出力した文字を行単位などで消したい場合,どのような操作をすればよいでしょうか. visual studio 2005を使っているのですがprintfでエスケープシーケンスを使っても,うまく文字を消すことができなかったです. 分かる方いたら教えてください.

  • 虚数解の表示

    Ax^2+Bx+Cの形の二次関数の解を計算するプログラムです #include <stdio.h> #include <math.h> int main(void) { double a,b,c,d,x1,x2,real,image; printf("A="); scanf("%lf",&a); printf("B="); scanf("%lf",&b); printf("C="); scanf("%lf",&c); if(a==0){x1=-c/b; printf("X=%5.2lf\n",x1); } if(a!=0.0){d=sqrt(pow(b,2.0)-4*a*c); if(d<0.0){ real=(-b)/(2*a); image=sqrt(-d)/(2*a); printf("実数=%5.2lf\n",real); printf("虚数=±%lfi\n",image);} else if(fabs(d)<0.0){ x1=(-b)/(2*a); printf("X=%5.2lf\n",x1);} else if(d>0.0){ x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); printf("X1=%5.2lf\n",x1); printf("X2=%5.2lf\n",x2);} } return 0;} 判別式d<0、d>0、d=0で分けています 判別式dが負になるとき(虚数解の部分)はそのままではsqrtが使えないので、-dを入れてみたのですがうまくいきません どのように修正すればよいのかご教示願います よろしくお願いします

  • DOS画面でテキストカーソルの位置を移動する(C言語)

     DOS用のC言語プログラムを作っています。そこで printf関数などで文字列を表示した後表示した文字列の 間に違う文字列を挿入したりしたいのですがそんなことは 可能でしょうか? #include <stdio.h> int main(void){ printf("13456789"); printf("2"); return 0; } というプログラムを作ったとして1と3の間に割り込んで2と 入れたい場合どうしたらよいでしょうか? 開発環境はwindowsXPでコンパイワはBorlandです。

  • C言語で今まで表示していた画面の消すには?

    こんにちわ, 今LinuxでC(C++でなく普通の)言語でプログラムを作っています。 それでいろいろprintfなどで表示していたものを消したいのですが,BASICでいうところのCLSのような画面を一度きれいにしてその後一番上の行からはじめるようなプログラム,関数などはないのでしょうか。 もしもありましたら教えてください。 よろしくお願いします。

  • C言語 エスケープ文字 エスケープシーケンス?

    プログラミング初心者です。 早速ですが現在、C言語入門書に目を通している最中なのですが理解出来ない部分が有ります。 内容としましては 「エスケープ文字」 に関してです。本書ではあまり理解出来なかったのでネットで検索していると、「エスケープシーケンス」 と言う用語も数多く出てきました。 いろいろ検索し私なりに出した答えは..... •エスケープ文字 = 文字が持つ特別な意味を無効にする為の文字。 •エスケープシーケンス = 改行などの特殊な文字を英数字の組み合わせで表現した物。 と....上記の様に私は理解しているのですが現在読んでいるC言語入門書の内容だとエスケープ シーケンスと考えられる説明が 「エスケープ文字」 として記述されています。 それはC言語ならではの扱い方なのか?、本書の内容が間違っているのか? 分かりづらい説明だと思うのですがよろしくお願いいたします。 因に現在読んでいる入門書は 「読本C-C言語徹底攻略」 と言う本でかなり昔のになります。 

  • C言語のコンパイルエラーなんですが、どこが悪いのかがわからない。

     作成したソースプログラムを、コンパイルしようとすると次のようなエラーが出ます。 「ファイル名:19:waring: unknow escape sequence: `\' followed by char code 0×89」  確かに、19行めに¥nの改行コードを打ちましたがそれがいけないのかな?しかし、その理由もわからん。  というか、上の考えがあっているのかすら分からない。どうか教えてください。ちなみに、19行目のソースプログラムは 「printf("よし!十円チョコかえるわ。今すぐレッツゴー。\n");」 です。よろしくお願いします。

NIKON D300の総ショット数について
このQ&Aのポイント
  • NIKON D300のシャッター寿命は、20万回と言われていますが、自分のカメラのショット数を調べた結果、474,649枚であったことに驚きました。
  • D300のシャッター寿命は公称の3倍は使用できる可能性があります。
  • ショット数はシャッターユニットの交換によってリセットされず、積算されることがあります。
回答を見る