将sqlite3生成的数据库文件转换成.txt格式文件

2024-08-25 08:32

本文主要是介绍将sqlite3生成的数据库文件转换成.txt格式文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

代码奉上:

#include <fstream>
using namespace std;
static int titleflag;
int call_back_log(void *para, int f_num, char **f_value, char **f_name)
{const char *desfile = (const char *)para;int i=-1;int j=-1;char tmp[256] = {0};string tmpstr;ofstream ofs;if(!titleflag) ofs.open(desfile, ios::out | ios::trunc);else ofs.open(desfile, ios::out | ios::app);if(!ofs.is_open()){ cout<<"open log.txt error"<<endl; }//show tableif(!titleflag){for(j = 0; j<f_num; j++){tmpstr += f_name[j];tmpstr += " | ";titleflag = 1;}ofs << tmpstr << endl;}//show resulttmpstr.clear();for(i=0; i<f_num; i++){tmpstr += f_value[i] ;tmpstr += " ";}ofs << tmpstr << endl;ofs.close();return 0;}
void operator_file(const char *filename, const char *desfilename, const char *table)
{sqlite3 *db;char *zErrMsg = 0;int rc;char sql[256] = {0};sprintf(sql, "select * from '%s' ;", table);rc = sqlite3_open(filename, &db);if( rc ){//	LOG_ERROR("Can't open database: %s\n", sqlite3_errmsg(db));perror("open database error!");exit(0);}rc = sqlite3_exec(db, sql, call_back_log, (void *)desfilename, &zErrMsg);if( rc != SQLITE_OK ){perror("find database error!");sqlite3_free(zErrMsg);}sqlite3_close(db);titleflag = 0;}int transFileToTxt(const char *filename, const char *desfilename)
{int status = 0;const char *tablename=(const char *)"logwork";operator_file(filename, desfilename, tablename);return status;}int main()
{const char *filename = "./etc/log.db" ;const char *desfilename = "./etc/log.txt" ;int status = transFileToTxt(filename, desfilename);    return 0;
}

这篇关于将sqlite3生成的数据库文件转换成.txt格式文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1105050

相关文章

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

Java读取InfluxDB数据库的方法详解

《Java读取InfluxDB数据库的方法详解》本文介绍基于Java语言,读取InfluxDB数据库的方法,包括读取InfluxDB的所有数据库,以及指定数据库中的measurement、field、... 首先,创建一个Java项目,用于撰写代码。接下来,配置所需要的依赖;这里我们就选择可用于与Infl

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

C#实现文件读写到SQLite数据库

《C#实现文件读写到SQLite数据库》这篇文章主要为大家详细介绍了使用C#将文件读写到SQLite数据库的几种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录1. 使用 BLOB 存储文件2. 存储文件路径3. 分块存储文件《文件读写到SQLite数据库China编程的方法》博客中,介绍了文