易截截图软件、单文件、免安装、纯绿色、仅160KB

SQLite与C结合

SQLite官方网站例子:
#include <stdio.h>
#include <sqlite3.h>
static int callback(void *NotUsed, int argc, char **argv, char **azColName){
int i;
for(i=0; i<argc; i++){
printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf("\n");
return 0;
}
int main(int argc, char **argv){
sqlite3 *db;
char *zErrMsg = 0;
int rc;
if( argc!=3 ){
fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
exit(1);
}
rc = sqlite3_open(argv[1], &db);
if( rc ){
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
exit(1);
}
rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);
if( rc!=SQLITE_OK ){
fprintf(stderr, "SQL error: %s\n", zErrMsg);
sqlite3_free(zErrMsg);
}
sqlite3_close(db);
return 0;
}
用gcc编译
gcc -lsqlite3 sqlite.c -o sqlite
运行时./sqlite ab.db 'SQL 语句'


相关文档:

C中的可变参数研究

C中的可变参数研究
一. 何谓可变参数
int
printf( const char* format, ...);
这是使用过C语言的人所再熟悉不过的printf函数原型,它的参数中
就有固定参数format和可变参数(用”…”表示). 而我们又可以用各种方式来调用printf,如:
printf("%d",value);

printf("%s",s ......

关于C/C++函数声明中参数个数的疑问

文章作者:Slyar
先看两个代码,第一个是C程序,第二个是C++程序,除了头文件不同以外其他的都一样。
//demo.c
#include <stdio.h>

int foo();

int main()
{
int a;
foo(a);
return 0;
}

int foo(int a)
{
}//demo.cpp
#include <iostream>

int foo();

int main()
{
in ......

C/C++单元测试理论精要(八)

第3章 怎样才能高效率测试
3.1 似是而非的高效率
 
    这一节澄清一些流行的误解或误导,一些看起来很不错的高效率,实际上是似是而非的。
全自动生成用例
    全自动生成用例是所有测试人员的期盼,好消息是,这是一种简单的技术,十年前就有了,坏消息是,这种技术作用很小。
......

Ghost误操作后只有C盘处理方法

最近经常看到网友们抱怨由于操作不当,使用GHOST恢复系统后分区不见了,机也死了,几年辛辛苦苦收藏的东东也不见了,几乎天天都有人上网求助,高手大侠们整天忙于新产品的开发,不可能有更多时间及时一一解答网友们的所提出的问题,因此我在网上看到了这个软件,现推荐给大家使用.
以下是一个高手的处理这类事故的经过
&nb ......

C/C++单元测试理论精要(九)

3.2 高效率测试:四两拔千斤
 
    上一节介绍了一些似是而非的高效率方法,那么,怎样才能真正高效率测试呢?真正的高效率,不能忽略人的智慧这一关键因素。
由于工具不可能自动了解代码的设计功能,只有人才了解,因此,只有人的智慧及时介入,工具才能做正确的事情,才能达到真正的高效率。
&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号