int m_export()
{
FILE *fp;
fp=fopen("Export.sql","w+");
char buf[100],buf2[5];
int len;
struct dirent *entry; //获取文件间目录内容
printf("请输入需要导入的数据库目录(绝对路径):\n");
scanf("%s",buf);getchar();
DIR *dirptr=NULL;
dirptr=opendir(buf); //打开文件夹,失败返回null
if(dirptr==NULL)
{
printf("name error!!\n");
return -1;
}
else
{
while(entry=readdir(dirptr))
{
memset(buf2,0,5);
len=strlen(entry->d_name);
memcpy(buf2,entry->d_name+len-4,4);
if(strcmp(buf2,".sql")==0)
{
fprintf(fp,"source %s/%s\n",buf,entry->d_name);
}
}
}
fclose(fp);
printf("请输入密码:\n");
system("mysql -u root -p database_name < Export.sql");
return 0;
}
原理:
先从文件夹中读取到所有需要导入的.sql文件名,然后创建新的文件夹存Export.sql放这些文件名,格式:source xxx.sql;最后导入这个文件即可(source Export.sql);