Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int split_n(char *argv[], FILE *file_ptr){
- FILE *file_ptr_new;
- char name[100], buffer[100], c;
- int kol = 0;
- struct stat buf; //Определение размера исходного файла
- stat(argv[1], &buf);
- long size, number_of_items_transferred = 0;
- size = buf.st_size;
- printf("Source file size: %lu\n", size);
- long new_size = 1 + size / atoi(argv[3]); //Размер новых файлов
- printf("New file size: %lu\n", new_size);
- for (int i = 0; ; i++){
- kol = 0;
- strcpy(name, argv[5]); //Создание нового файла
- itoa(i, buffer, 10);
- strcat(name, buffer);
- strcat(name, ".txt");
- file_ptr_new = fopen(name, "wb");
- while (number_of_items_transferred < size){
- if (kol < new_size){
- c = getc(file_ptr);
- fputc(c, file_ptr_new);
- number_of_items_transferred++;
- kol++;
- }
- if (kol == new_size){
- fclose(file_ptr_new);
- break;
- }
- if (c == EOF){
- fclose(file_ptr_new);
- return 0;
- }
- }
- fclose(file_ptr_new);
- return 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement