• ベストアンサー

エスケープコマンドの出力ができません

kahaの回答

  • kaha
  • ベストアンサー率23% (41/177)
回答No.3

Windows2000では普通32ビットのcmd.exeが実行されます。No.1さんの設定をしてからcmd.exeでなく、command.comを実行する必要があります。 実行方法1  「ファイル名を指定して実行」からcommand.comを実行する。 実行方法2  DOS窓のプロンプトからcommand.comと入力して実行する。 ================ Borland C++ 5.5.1 for Win32は32ビットコンパイラだから、このコンパイラでエスケープシーケンスは無理です。 コンソール入出力関数(conio)なら使えますよ。32ビットコンソールで使えます。(参考URL) 画面クリア→clrscr() x,y位置→gotoxy(x, y) テキストカラー→textcolor(color) (conio.hを参照)

参考URL:
C:\borland\bcc55\faq\bccfaq1.html
harukasan
質問者

お礼

お返事が遅れましたがご回答ありがとうございます. 参考URLを参照してプログラム例を実行してみましたところ 無事に実行できました. conioでも様々なことができるようなので,これからいろいろな使い方を試してみたいと思います.

関連するQ&A

  • \x1bが働きません。

    \x1bが働きません。 すみません。C言語初心者でよくわかりません。 コンパイラはフリーのBorland C++ Compiler 5.5を使用してます。 OSはWindows98です。 記述は下記のとおりですが、 ------------------------------------------------------ #include <stdio.h> #include <conio.h> void main(void); void main(void) {   int i;   printf("clear\x1b[2J\n");   for(i=30;i<=37;i++){     printf("\x1b[%dmcolor\n",i);   }   getch(); } ------------------------------------------------------ DOS窓の実行画面はこのとおり。全部白文字で出力されます。 ------------------------------------------------------ clear←[2J ←[30mcolor ←[31mcolor ←[32mcolor ←[33mcolor ←[34mcolor ←[35mcolor ←[36mcolor ←[37mcolor (getchの入力待ち) ------------------------------------------------------ 実際は←の所はEnterキーに印刷されているカギ状の矢印です。 \x1bが改行マーク?に置きかえられているのです。 どなたかアドバイスお願いします。 ちなみにDOS窓の時に\が「む」キーを押さないと入力できませんが 何か関係がありますか?

  • エスケープ・シーケンスによる画面消去

    次のプログラムを使ってコマンドの画面消去をしようとしたのですが、上手くいきませんでした。どうすれば良いですか? /* sample.c */ #include <stdio.h> int main(){ printf("\x1b[2J"); return(0); } 実行結果 >sample ←[2J

  • 簡単なscanf文が、わかりません。

    #include <stdio.h> int main(void) { int data; scanf("%d",&data); /*入力部分*/ printf("%d\n",data); return 0; } 参考書には、キーで入力、enterキー押すと、はじめて文字が画面に表示されるとなってましたが。 実際は、enter押さずに、キーボードでキー入力した時点で文字が表示されますが、 どこが間違っているんでしょうか? コンパイラは、 Borland C++ Compiler です。 お願いします。

  • 初歩 文字のカウントについて ( K&R第2版 22ページ )

    K&R第2版の22ページにある文字のカウントで #include <stdio.h> { long nc; nc = 0; while ( getchar() != EOF ) ++nc; printf("%ld\n" , nc); } という文があるのですがこれは入力された文字数を数字で出力するものではないのでしょうか 実行しても文字が表示されるだけなんです ちなみにコンパイラは Borland C++ 5.5 です

  • 実行結果の順番がおかしいんです・・・・・(。。;)

    現在C言語の勉強をしている初心者です。突然ですが 例えば、このようにプログラムしたら・・・ #include <stdio.h> int main(void) { int n; printf("何か数字を入力してください:"); scanf("%d",&n); printf("\n入力した数字は%dです。\n",n); return 0; } <<実行結果>>  何か数字を入力してください:2 [Enter]  入力した数字は2です。 って普通は出力されますよね??しかし、私の使っているBorland C++ Compiler 5.5 では <<実行結果>>  2 [Enter]  何か数字を入力してください:  入力した数字は2です。 っていう風に、まず、なにか入力しないとprintfの内容を出力してくれないんです。(汗)これって実行結果の順番がおかしいですよね・・・(。。;) どうかこの状態を直せるアドバイスをください。 よろしくお願い致します。m(__)m

  • C言語で乱数がうまく効きません。下記のソースでコンパイルして実行すると

    C言語で乱数がうまく効きません。下記のソースでコンパイルして実行すると結果が130固定となってしまいます。 #include <stdio.h> #include <stdlib.h> int main(void){ int x; x = rand(); printf("%d",x); return 0; } 使っているコンパイラはBorland C++ 5.5.1です。何か間違いでもあるのでしょうか?よろしくお願いします。

  • Borland C++を利用しているのですが、簡単なプログラムが実行できません。

    Borland C++を利用しているのですが、簡単なプログラムが実行できません。 以下のようなプログラムをコンパイルして実行しようとしたのですが... #include <stdio.h> void main(void) { int i,j,k; i=1; j=2; k=i+j; printf( "k=%d,k); } Borland C++は、初めて使うのですが、C言語の勉強には使えないのでしょうか? もし使えるなら、どのようにすればよいのでしょうか?

  • windowsのコンパイラーで正しく実行されたのに、gccのコンパイラーでエラーがでた

    windowsのコンパイラーで正しく実行されたのに、gccのコンパイラーでエラーがでたソースコードです。ファィル名test.c です。Linux(Red Hat9) gccです。windowsのコンパイラーはCPad for Borland C++Compilerです。 #include <stdio.h> void main() //intからvoidに変更した { int i, j; for (i=1; i<=9; i++){ printf("%2d ",i); //%2dで、iが2桁に表示 } printf("\n"); printf("***************************\n"); //この罫線もどきの書き方はダサいので工夫してください for (i = 1; i<=9; i++){ for (j = 1; j<= 9; j++) { printf("%2d ", i*j); if (j == 9) printf("\n"); //1行表示後改行 } } return; //voidにしたので0を取った! } これがLinux(RedHat9)gccでは以下のエラーが出ます。 (test.c: 関数 `main' 内: test.c:4: 警告: `main' の戻り値の型が `int' ではありません)  なぜ、同じソースコードでエラーが起こるのですか?  Linux gccでは、この場合`int' 以外の何が必要なのでしょうか? 以上よろしくお願いします。

  • BCC Developerについて。

    Borland C++ Compiler、BCC Developerを使って #include <stdio.h> void main(){ printf("Hello C world.\n"); } をメイクしてみたのですが、 インクルードファイル 'stdio.h' をオープンできない 、と表示されコンパイルできませんでした。 環境設定は、コンパイラにbbc32.exeを指定すればいいだけなんでしょうか?よろしくお願いします。

  • 不定値の出力について

    #include <stdio.h> int main(void) { /*  */ int x=1, a; /*  */ double y=0, b; /*  */ printf("a = %d\n", a); /*  */ printf("b = %f\n", b); /*  */ printf("x/y = %f\n", x/y); /*  */ printf("y/y = %f\n", y/y); /*  */ return(0); } -------------------------------------------------- このようなプログラムを実行すると、どのような出力結果が期待できるのでしょうか。 int 型と double 型しか用いていませんが、型によって説明が異なるのであれば他の型についても回答お願い致します。 コンパイラや環境によって出力結果が異なるのでしょうか。 具体的な出力結果でなく、どのように処理されるためにどのような出力が期待されるという形でも説明を頂けますでしょうか。 Visual C++ で実行した結果は次のようになりました。 -------------------------------------------------- a = -858993460 b = -92559631349317831000000000000000000000000000000000000000000000.000000 x/y = 1.#INF00 y/y = -1.#IND00 -------------------------------------------------- ご教示いただければ幸いです。