1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
boyakko [2]
3 years ago
5

Write a C program (doublecopy) that allows a user to extract some part of an existing file (fileSource) and copy it twice to a n

ew file fileTarget. The user can specify (1) the number of bytes (num1) as an offset from the beginning of filesource, (2) how many bytes (num2) that will be extracted from it, and ,(3) the new fileTarget name. >doublecopy num1 num2 filesource fileTarget

Computers and Technology
1 answer:
Slav-nsk [51]3 years ago
3 0

Answer:

Check the explanation

Explanation:

#include <stdio.h>

#include <sys/stat.h>

#include <stdlib.h>

#include <fcntl.h>

#include <errno.h>

#include <unistd.h>

extern int errno;

struct stat st;

int main(int argc, char **argv){

  int num1 = atoi(argv[1]); // Getting num1 from user

  int num2 = atoi(argv[2]); // Getting num2 from user

  char *fileSource = argv[3];

  char *fileTarget = argv[4];

 

  int source_fd = open(fileSource, O_RDONLY); // opening the file in read only mode

  int target_fd = open(fileTarget, O_WRONLY | O_CREAT); // opening the target file in Writeonly mode if file is not found it will create

   

  char *ch = (char *) calloc(num2+num1, sizeof(char));

 

  stat(fileSource, &st);

  if(st.st_size < (num1 + num2)){

      printf("File Size is smaller than the specified bytes\n");

      read(source_fd, ch, st.st_size); // reading the file upto the end

      write(target_fd, ch, st.st_size); // write to the file

      write(target_fd, ch, st.st_size); // two times writing to the file

  }else{

      if(lseek(source_fd, (off_t)num1, SEEK_SET) < 0 ) // moving the cursor to after the specified bytes from the start

      {

          printf("Some Error occured while seeking the file");

          return -1;

      }

      read(source_fd, ch, num2); // reading num2 bytes from the source

      write(target_fd, ch, num2); // writing two times to the target

      write(target_fd, ch, num2);

     

  }

 

  return 0;

 

}

1 2 #include <stdio.h> #include <sys/stat.h> #include <stdlib.h> #include <fcntl.h> #include <errno.h> #include <unistd.h> 4

The code screenshot and code output are attached below.

You might be interested in
What is looping in QBASIC​
Elden [556K]

A looping is a set of instructions which is repeated a certain number of times until a condition is met. hlo dai k xa halkhabar

3 0
3 years ago
While your hands are on home row, your left hand rests lightly on _____.
In-s [12.5K]
The answer is b. asdfc.  
8 0
3 years ago
Read 2 more answers
The view side by side command is used to view and ________ two workbooks at one time
Reil [10]
...to view and edit two...
7 0
3 years ago
What type of hard drive is in original xbox?
castortr0y [4]
The original Xbox had an 8GB hard disk drive, or HDD.

You basically gave yourself the answer! A hard drive.
4 0
3 years ago
Briefly explain what is net neutrality and why is it important today
ICE Princess25 [194]

Net neutrality also means that ISPs can't charge users access fees for particular websites. ... The goal of net neutrality is to ensure that businesses can compete freely on the internet without having to pay gatekeeper tolls. Without it consumers would look more like advertising segments than an open marketplace.

Credits: thestreet.com

6 0
3 years ago
Other questions:
  • . Reorder the following efficiencies from smallest to largest:
    9·1 answer
  • Which of the following best describes a group?
    13·1 answer
  • To exit Access, click the ____ button on the right side of the Access title bar.
    9·1 answer
  • Two technicians are discussing a parasitic load test. Technician A says that the parasitic load is measured with an ammeter Tech
    13·1 answer
  • What is the output?
    12·1 answer
  • What your favorite video game? (Put your user if you wanna play!)
    9·2 answers
  • Examples of system software include operating systems like macos, Linux, Android and
    10·2 answers
  • I really need help in this!!!
    11·1 answer
  • The data source in the document which has the information common to all documents. True or false 
    9·2 answers
  • What ribbon command on the home tab can you use to change a cell fill color
    5·2 answers
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!