How can i use c program two merge two files. Does it have to do with "pointers" or am going wrong!
Open file "first" and file "second" in read mode using the fopen function; also open file "merged" in write mode using the fopen function; then read from files "first" and "second" and write what you read to file "merged"; then close all three files and you are done.
I'm sure there are more details involved that may or may not require pointers, depending on the exact nature of your assignment, but these basic steps do not use them.
Thanks for your answer. Just can you please give a me an example of a sample program to open another one because it's the first time i hear about fopen function. But don't worry tell me ill figure it out!
FILE * fp;
fp = fopen("filename.txt", "wt");
fprintf(fp, "Hello fopen\n");
What platform are you programming in? You can make use of the linux system calls - open(), read(), and write(). Open() has the O_APPEND flag that opens a file in append mode, thereby adding data to the end of the file. You can use this to merge your two files. Read the manual pages of the respective functions for a detailed description. Then again fopen() does have th "a" flag for append.
I don't imagine you're allowed to be so sneaky as to make an OS call, like "copy first+second merged" (DOS./cmd) or "cat first second > merged" (bash)?
This is a somewhat 'tedious' but portable way to do it in C.
Opening the primary file for 'update' rather than 'append' has the effect of removing the EOF marker before appending new data.
#define BYTE unsigned char
FILE *fp1, *fp2;
//open file-1 for update, file-2 for read
//get size of file-2
//allocate buffer, read-in file-2
//write the buffer to (end of) file-1
//clean-up and close
It'd be a good idea to do some error checking if you use this code for anything serious...
Give the program to merge two files into a single one ic C Programming
copy filein1/b+filein2/b fileout/b
If this is a windows console program, you might want to use CreateFile and related commands instead fopen, but the program would be less "portable" to other OS's.
Which part of
did you not understand?
Separate names with a comma.