Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

58 строки
1.2 KiB

2 лет назад
  1. #include "stdio.h"
  2. #include "stdlib.h"
  3. #include "time.h"
  4. #include "math.h"
  5. #include "string.h"
  6. /**
  7. * @brief generate a file consists of 50000 lines of words,
  8. * half line has a substring "computer", and is repeated.
  9. * the clone one is stripped of "computer".
  10. *
  11. * 0 ~ 9 : 48 ~ 57
  12. * a ~ z : 97 ~ 122
  13. *
  14. */
  15. void file_create(const char *_addr)
  16. {
  17. FILE *file = fopen(_addr, "w");
  18. size_t line = 250000u;
  19. srand(time(NULL));
  20. // char *str = NULL;
  21. for (size_t i = 0; i < line; i++) {
  22. // str = (char *)malloc(abs(rand())%20 * sizeof(char));
  23. char str[abs(rand())%100+1];
  24. for (size_t j = 0; j < strlen(str); j++) {
  25. if (abs(rand()) % 2 == 0)
  26. str[j] = abs(rand())%10 + 48;
  27. else
  28. str[j] = abs(rand())%26 + 97;
  29. }
  30. strcat(str, "computer\n");
  31. fputs(str, file);
  32. fputs(str, file);
  33. // free(str);
  34. }
  35. fclose(file);
  36. }
  37. void file_show()
  38. {
  39. FILE *file = fopen("words.txt", "r");
  40. int ch;
  41. while ((ch = fgetc(file)) != '\n') {
  42. printf("%c", ch);
  43. }
  44. fclose(file);
  45. }
  46. int main()
  47. {
  48. file_create("words.txt");
  49. return 0;
  50. }