home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_100 / 161_01 / stdiolib.c < prev    next >
C/C++ Source or Header  |  1985-08-29  |  3KB  |  183 lines

  1. #include "config.h"
  2. #include "timer1.h"
  3.  
  4. extern double t_minsam;
  5. FILE *fp;
  6. int i;
  7. char buf[BUFSIZ];
  8. static char buf100[] = "1   2   3   4   5   6   7   8   9   10  \
  9. 11  12  13  14  15  16  17  18  19  20  21  22  23  24  25 \n";
  10.  
  11. t_minsam = 2e6;    /* get at least 2 sec for each sample */
  12.  
  13. fp = fopen("100kc", "r");
  14. if (fp == NULL)
  15.     {
  16.     fp = fopen("100kc", "w");
  17.     for (i = 0; i < 1000; ++i)
  18.         fprintf(fp, buf100);
  19.     }
  20. fclose(fp);
  21.  
  22. DO_STMT("fopen, fclose")
  23.     {
  24.     fp = fopen("tmpforw", "w");
  25.     fclose(fp);
  26.     }
  27. OD
  28.  
  29. fp = fopen("100kc", "r");
  30. DO_STMT("fgetc")
  31.     {
  32.     if (fgetc(fp) == EOF)
  33.         {
  34.         fclose(fp);
  35.         fp = fopen("100kc", "r");
  36.         }
  37.     }
  38. OD
  39. fclose(fp);
  40.  
  41. fp = fopen("100kc", "r");
  42. DO_STMT("fgets-100chars")
  43.     {
  44.     if (fgets(buf, 100, fp) == NULL)
  45.         {
  46.         fclose(fp);
  47.         fp = fopen("100kc", "r");
  48.         }
  49.     }
  50. OD
  51. fclose(fp);
  52.  
  53. fp = fopen(JUNKFILE, "w");
  54. DO_STMT("fprintf-%d")
  55.     {
  56.     fprintf(fp, "%d\n", 12345);
  57.     }
  58. OD
  59. fclose(fp);
  60.  
  61. fp = fopen(JUNKFILE, "w");
  62. DO_STMT("fprintf-%d %d")
  63.     {
  64.     fprintf(fp, "%d %d\n", 12345, 12345);
  65.     }
  66. OD
  67. fclose(fp);
  68.  
  69. fp = fopen(JUNKFILE, "w");
  70. DO_STMT("fputc")
  71.     {
  72.     fputc('\n', fp);
  73.     }
  74. OD
  75. fclose(fp);
  76.  
  77. fp = fopen(JUNKFILE, "w");
  78. DO_STMT("fputs-100 chars")
  79.     {
  80.     fputs(buf100, fp);
  81.     }
  82. OD
  83. fclose(fp);
  84.  
  85. fp = fopen("100kc", "r");
  86. DO_STMT("fread-100chars")
  87.     {
  88.     if (fread(buf, 1, 100, fp) < 100)
  89.         {
  90.         fclose(fp);
  91.         fp = fopen("100kc", "r");
  92.         }
  93.     }
  94. OD
  95. fclose(fp);
  96.  
  97. fp = fopen("100kc", "r");
  98. DO_STMT("fread-BUFSIZ chars")
  99.     {
  100.     if (fread(buf, 1, BUFSIZ, fp) < BUFSIZ)
  101.         {
  102.         fclose(fp);
  103.         fp = fopen("100kc", "r");
  104.         }
  105.     }
  106. OD
  107. fclose(fp);
  108.  
  109. fp = fopen("100kc", "r");
  110. DO_STMT("fscanf-1 int")
  111.     {
  112.     if (fscanf(fp, "%d", &i) < 1)
  113.         {
  114.         fclose(fp);
  115.         fp = fopen("100kc", "r");
  116.         }
  117.     }
  118. OD
  119. fclose(fp);
  120.  
  121. fp = fopen("100kc", "r");
  122. DO_STMT("fscanf-2 ints")
  123.     {
  124.     if (fscanf(fp, "%d%d", &i, &i) < 2)
  125.         {
  126.         fclose(fp);
  127.         fp = fopen("100kc", "r");
  128.         }
  129.     }
  130. OD
  131. fclose(fp);
  132.  
  133. fp = fopen("100kc", "r");
  134. DO_STMT("fseek, fgetc")
  135.     {
  136.     fseek(fp, (long)(i = (i + 1000) % 30000), 0);
  137.     fgetc(fp);
  138.     }
  139. OD
  140. fclose(fp);
  141.  
  142. fp = fopen(JUNKFILE, "w");
  143. DO_STMT("fwrite-100 chars")
  144.     {
  145.     fwrite(buf100, 1, 100, fp);
  146.     }
  147. OD
  148. fclose(fp);
  149.  
  150. fp = fopen(JUNKFILE, "w");
  151. DO_STMT("fwrite-BUFSIZ chars")
  152.     {
  153.     fwrite(buf100, 1, BUFSIZ, fp);
  154.     }
  155. OD
  156. fclose(fp);
  157.  
  158. DO_STMT("sprintf-1 int")
  159.     {
  160.     sprintf(buf, "%d", 12345);
  161.     }
  162. OD
  163.  
  164. DO_STMT("sprintf-2 ints")
  165.     {
  166.     sprintf(buf, "%d%d", 12345, 12345);
  167.     }
  168. OD
  169.  
  170. DO_STMT("sscanf-1 int")
  171.     {
  172.     sscanf("12345", "%d", &i);
  173.     }
  174. OD
  175.  
  176. DO_STMT("sscanf-2 ints")
  177.     {
  178.     sscanf("12345 12345", "%d %d", &i, &i);
  179.     }
  180. OD
  181.  
  182. }
  183.