#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void readFile(const char *fileName, const char *mode)
{
FILE *fp = fopen(fileName, mode);
if (NULL == fp)
{
printf("open failed\n");
return;
}
char buf[1024];
memset(buf, 0, sizeof(buf));
while (!feof(fp))
{
fgets(buf, sizeof(buf), fp);
printf("%s", buf);
}
fclose(fp);
return;
}
/*
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 created 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.
*/
void copyFile(const char *desFile, const char *sourceFile)
{
FILE *fpSource = fopen(sourceFile, "r");
FILE *fpDes = fopen(desFile, "w+");
if (NULL == fpSource || NULL == fpDes)
{
printf("open failed\n");
return;
}
char buf[1024];
memset(buf, 0, sizeof(buf));
while (!feof(fpSource))
{
fgets(buf, sizeof(buf), fpSource);
fputs(buf, fpDes);
memset(buf, 0, sizeof(buf));
}
fclose(fpSource);
fclose(fpDes);
return;
}
void main()
{
const char *sourceFile = "test.txt";
copyFile("test-bak.txt",sourceFile);
}