文字をテロップのように表示する
BohYoh.com【著書】解きながら学ぶC言語の問題の一つとして取り上げられていた。putchar('\r')を使用することで改行せずに同一行の先頭にカーソルを移動できる。そこから文字をずらして表示させていけば、テロップのように表示できる。
#include <stdio.h> #include <string.h> int main(int argc, char * args[]){ int cnt = 0; char message[] = "Hello World! "; int length = strlen(message); while (1) { int i; putchar('\r'); // move top for( i = 0 ; i < length ; i++ ) { if ( cnt + i < length ) { putchar(message[cnt + i]); } else { putchar(message[cnt + i - length]); } } if( cnt < length ){ cnt ++; } else { cnt = 0; } } return 0; }
延々と Hello World! を表示させ続けるようにしてみた。