fork download
  1. //#include <windows.h> // (Windows)
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <unistd.h> // (Linux)
  6.  
  7. // 表示器
  8. void display_machine(char *d, int len)
  9. {
  10. char c;
  11. int i;
  12.  
  13. // 表示文字数分だけ表示
  14. fprintf(stderr, "\r");
  15. for (i = 0; i < len; i++) {
  16. fprintf(stderr, "%c", d[i]);
  17. }
  18. // ・左スライド
  19. // ・あふれる文字を(表示文字の2倍の長さの)バッファの最後端に移動
  20. c = d[0];
  21. memmove(d, d + 1, len * 2 - 1);
  22. d[len * 2 - 1] = c;
  23. }
  24.  
  25. // main
  26. int main()
  27. {
  28. char *buff; // 表示文字の2倍の長さのバッファ
  29. int i;
  30. char *h_moji = "HyoujiMoji"; // 表示文字
  31. int len = strlen(h_moji); // 表示文字の長さ
  32. int n = len * 4 + 1; // スライド回数
  33.  
  34. buff = (char *) malloc(len * 2);
  35. memset(buff, ' ', len * 2);
  36. memmove(buff, h_moji, len);
  37. for (i = 0; i < n; i++) {
  38. display_machine(buff, len);
  39. sleep(1); // 1秒ウェイト (Linux)
  40. //Sleep(1000); // 1秒ウェイト (Windows)
  41. }
  42. free(buff);
  43.  
  44. return 0;
  45. }
  46.  
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty