mirror of
https://gitee.com/acl-dev/acl.git
synced 2024-12-02 03:47:53 +08:00
9697f95b8f
This reverts commit 15d999759e
.
67 lines
1.3 KiB
C++
67 lines
1.3 KiB
C++
#include "stdafx.h"
|
|
#include "file_copy.h"
|
|
|
|
bool file_copy(const char* from, const char* to)
|
|
{
|
|
if (strcasecmp(from, to) == 0)
|
|
{
|
|
printf("from(%s) == to(%s)\r\n", from, to);
|
|
return false;
|
|
}
|
|
|
|
ifstream in;
|
|
if (in.open_read(from) == false)
|
|
{
|
|
printf("open %s error: %s\r\n", from, last_serror());
|
|
return false;
|
|
}
|
|
|
|
ofstream out;
|
|
if (out.open_write(to) == false)
|
|
{
|
|
printf("open %s error: %s\r\n", from, last_serror());
|
|
return false;
|
|
}
|
|
|
|
string buf;
|
|
|
|
while (!in.eof())
|
|
{
|
|
if (in.gets(buf, false) == false)
|
|
break;
|
|
if (out.write(buf) < 0)
|
|
{
|
|
printf("write to %s error: %s\r\n", to, last_serror());
|
|
return false;
|
|
}
|
|
}
|
|
|
|
printf("create %s ok\r\n", to);
|
|
return true;
|
|
}
|
|
|
|
bool files_copy(const char* name, const FILE_FROM_TO* tab,
|
|
const char* from_path, const char* to_path)
|
|
{
|
|
string from, to;
|
|
|
|
from = "tmpl/Makefile.in";
|
|
to.format("%s/Makefile.in", to_path);
|
|
if (file_copy(from.c_str(), to.c_str()) == false)
|
|
return false;
|
|
|
|
for (size_t i = 0; tab[i].from != NULL; i++)
|
|
{
|
|
from.format("%s/%s", from_path, tab[i].from);
|
|
to.format("%s/%s", to_path, tab[i].to);
|
|
if (file_copy(from, to) == false)
|
|
{
|
|
printf("create %s failed!\r\n", name);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
printf("create %s ok!\r\n", name);
|
|
return true;
|
|
}
|