将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

相关文章

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据