Hellko

41

Dec 9th, 2012
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.36 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main() {
  4.     int size,fsize; //Создадим переменную типа int в которой будем хранить число байт на которые разбить файл
  5.     printf("Vvedite chislo bait: ");
  6.     scanf("%d",&size); //попросим пользователя ввести это число байт
  7.     char temp[10241]=""; //создадим строку в которую будем считывать файл.
  8.     FILE *r,*w; //создадим 2 указателя на файл один из которых будет файл для чтения другой для записи
  9.     r=fopen("D:\\a.txt","r"); //откроем файл который мы хотим прочитать D:\a.txt
  10.     if(!r) { // если файл не открылся выйдем из программы с надписью Error.
  11.         printf("Error!");
  12.         exit(1);
  13.     }
  14.     char name[20]="D:\\a00.txt"; //это будет имя первого файла на который мы разобьем наш файл.
  15.     fseek(r,0,SEEK_END); //Поставим указатель в файле в конец файла
  16.     fsize=ftell(r); // получим размер файла в переменную fsize
  17.     fseek(r,0,SEEK_SET); //поставим указатель в файле обратно в начало
  18.     for(int i=0;i<fsize;i+=size) {  // i - количество прочитанных байт файла
  19.         if(fsize-i<size) size=fsize-i; // если от файла осталось прочитать меньше чем size, то size теперь то что осталось прочитать.
  20.         fread(temp,sizeof(char),size,r); // прочтем в переменную temp. size блоков по sizeof(char) байт (по одному байту) из файла r.
  21.         w=fopen(name,"w"); // откроем файл name для записи
  22.         fwrite(temp,sizeof(char),size,w); //запишем туда содержимое переменной temp: size блоков по sizeof(char) байт (по одному байту)
  23.         fclose(w); //закроем файл
  24.         if(name[5]=='9') {name[4]++; name[5]='0';} else name[5]++; //увеличим имя файла на 1. Если имя файла кончается на 9 увеличим количество десятков и сделаем количество едениц =0
  25.     }
  26.  
  27. }
Advertisement
Add Comment
Please, Sign In to add comment