2016-04-14 20 views
-2

同じコードですが、プログラムを実行する方法によって結果が異なります。 私に説明できる人。カーソルを移動するC

#include <stdio.h> 
#include <conio.h> 

int main() 
{ 
    printf("\x1b[%d;%dH", 11, 11); 
    printf("Hello world"); 
    getch(); 
    return 0; 
} 

結果は

enter image description here

+1

私はあなたがのprintf( "\のX1B [11; 11Hは"); 'ことに驚いていることに驚い' 11 [ '続く奇妙な文字を印刷します。 11H。 – immibis

答えて

0

制御コードシーケンスが左シェルではサポートされていないから逃れることは明らかである、それは右のシェルでサポートされています。 または、実行ファイルを直接実行すると、cmd.exeで実行されているのと同じコンソールが割り当てられません。

1

プログラムは、terminal control codesを放出し、コンソールにカーソルを移動するよう指示します。異なる端末はこれらのコードに異なって応答します。そのため、異なる端末を使用すると異なる結果になります。私たちはncursesベースと同様のライブラリを持っている理由

0

はこれがある

関連する問題