niromru

pr7-3 Программа записи

Dec 17th, 2021
894
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.85 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <windows.h>
  5. #define maxStrLen 1024
  6.  
  7. int main(int argc, char **argv)
  8. {
  9.     SetConsoleCP(1251);
  10.     SetConsoleOutputCP(1251);
  11.  
  12.     char filenameInp[maxStrLen] = "";
  13.     int k = 0;
  14.     int i = 0;
  15.     int c = 0;
  16.     double t = 0;
  17.     FILE * fInp = NULL;
  18.  
  19.     if (argc == 1) {
  20.         printf("Введите имя входного бинарного файла:\n");
  21.         gets(filenameInp);
  22.         system("CLS");
  23.     } else if (argc == 2) {
  24.         strcpy(filenameInp, argv[1]);
  25.     } else {
  26.         printf("[!] Программе переданы лишние аргументы\n\nВведите <0>, чтобы завершить выполнение программы.\nВведите любое другое значение, чтобы продолжить выполнение программы.\n");
  27.         fflush(stdin);
  28.         c = getchar();
  29.         if (c == '0')
  30.             return 1;
  31.         system("CLS");
  32.         strcpy(filenameInp, argv[1]);
  33.     }
  34.  
  35.     if ((fInp = fopen(filenameInp, "wb")) == NULL) {
  36.         perror("[!] Ошибка создания входного бинарного файла");
  37.         getchar();
  38.         return;
  39.     }
  40.     printf("Введите количество вводимых чисел в бинарный файл: ");
  41.     scanf("%d", &k);
  42.     system("CLS");
  43.     printf("Введите значения файла в количестве %d:\n", k);
  44.     for (i = 0; i < k; i++) {
  45.         scanf("%lf", &t);
  46.         fwrite(&t ,sizeof(double), 1, fInp);
  47.     }
  48.     fclose(fInp);
  49.  
  50.     system("CLS");
  51.     printf("Файл создан!\n\nНажмите любую клавишу, чтобы завершить программу записи бинарного файла.");
  52.     fflush(stdin);
  53.     getchar();
  54.     return 0;
  55. }
  56.  
Advertisement
Add Comment
Please, Sign In to add comment