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