fork(1) download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4.  
  5. int main()
  6. {
  7. const int base = 15;
  8. const int height = 5;
  9. const int width = 3;
  10. const int outlength = 8;
  11. const int pattern_max = 5;
  12. int num[base][height][width], *p = num, c;
  13.  
  14. // デジタル文字パターン「moji.txt」をopenする。
  15. FILE *fpi, *fpo;
  16. fpi = fopen("moji.txt", "r");
  17. if (!fpi)
  18. {
  19. printf("moji.txtをopen出来ません。\n");
  20. exit(-1);
  21. }
  22.  
  23. // デジタル文字パターンを「moji.txt」から読み込む。
  24. while ((c = fgetc(fpi)) != EOF)
  25. {
  26. switch (c)
  27. {
  28. case '0':
  29. *p++ = 0;
  30. break;
  31. case '1':
  32. *p++ = 1;
  33. break;
  34. default:
  35. break;
  36. }
  37. }
  38.  
  39. // 出力ファイルをopenする。
  40. fpo = fopen("date.txt", "w");
  41. if (!fpo)
  42. {
  43. printf("date.txtをopen出来ません。\n");
  44. exit(-1);
  45. }
  46.  
  47. // 5パターン出力する。
  48. for (int p = 0; p < pattern_max; ++p)
  49. {
  50. // 乱数を利用した8ケタの文字列を作成
  51. int buf[outlength];
  52. for (int i = 0; i < outlength; ++i)
  53. buf[i] = rand() % base;
  54. for (int h = 0; h < height; ++h)
  55. {
  56. for (int b = 0; b < outlength; ++b)
  57. {
  58. for (int w = 0; w < width; ++w)
  59. {
  60. if (num[buf[b]][h][w])
  61. fprintf(fpo, "●");
  62. else
  63. fprintf(fpo, " ");
  64. }
  65. fprintf(fpo, " "); // 文字間を1バイト開ける。
  66. }
  67. fprintf(fpo, "\n"); // 1行の終わり。
  68. }
  69. fprintf(fpo, "\n"); // 1パターンの終わり。
  70. }
  71. fclose(fpi);
  72. fclose(fpo);
  73.  
  74. // ファイル出力内容を画面表示する。
  75. {
  76. char buf[1000];
  77. fpi = fopen("date.txt", "r");
  78. while (fgets(buf, 100, fpi))
  79. printf("%s", buf);
  80. }
  81. return 0;
  82. }
  83.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.c: In function 'main':
prog.c:12:40: error: initialization from incompatible pointer type [-Werror]
     int num[base][height][width], *p = num, c;
                                        ^
cc1: all warnings being treated as errors
stdout
Standard output is empty