Read one file and write to another file.
#include <stdio.h>
int main()
{
char filename[]="/home/zxm/myexample_hvm";
char filename2[]="/home/zxm/xen-syms.txt";
FILE *fp,*fp2;
char Strline[1024];
if((fp=fopen(filename,"w+"))==NULL)
{
printf("error!");
return -1;
}
if((fp2=fopen(filename2,"r+"))==NULL)
{
printf("error!");
return -1;
}
fread(Strline,sizeof(Strline),1,fp2);
fwrite(Strline,sizeof(Strline),1,fp);
while (!feof(fp))
{
fgets(Strline,1024,fp); //read one lline of file
printf("%s\n",Strline);
}
fclose(fp);
fclose(fp2);
return 0;
}
Pay attention to the fopen function,the argment of "r+" or "w+";
The argument mode points to a string beginning with one of the follow‐
ing sequences (possibly followed by additional characters, as described
below):
r Open text file for reading. The stream is positioned at the
beginning of the file.
r+ Open for reading and writing. The stream is positioned at the
beginning of the file.
w Truncate file to zero length or create text file for writing.
The stream is positioned at the beginning of the file.
w+ Open for reading and writing. The file is created if it does
not exist, otherwise it is truncated. The stream is positioned
at the beginning of the file.
a Open for appending (writing at end of file). The file is cre‐
ated if it does not exist. The stream is positioned at the end
of the file.
a+ Open for reading and appending (writing at end of file). The
file is created if it does not exist. The initial file position
for reading is at the beginning of the file, but output is
always appended to the end of the file.