需要用C语言实现如下功能,求参考书?
程序员文章站
2022-04-18 14:10:22
...
需要连接mysql数据库,运行外部程序、读取网站返回json或xml数据,只需命令行操作无需窗口界面,最后生成exe可执行文件(单文件,最好不要有dll文件,能同时发布linux/mac版本命令行工具更佳),目前的水平是当年谭浩强C语言多次考试90+,除此之外无接触,求教材,谢谢。
—————————————————————————————————————
第一、连接MySQL
这个可能是比较简单的东西了,
1.下载这个 Mysql C的连接器,这个算是一个套件
MySQL :: Download Connector/C
2.阅读并模拟编写读取数据库代码
MySQL :: MySQL Connector/C Developer Guide
本人一直相信官方文档…至少不会有很多错误,网上的文章很多都是以讹传讹。
—————————————————————————————————————
第二、运行外部程序
2014-04-24 12:12 补充:
运行外部程序大概有这么3种:
1.System()函数
这个函数可以执行Linux下Shell的一行命令,所以压缩解压什么的,都不在话下,学好Shell本事就是意见挺困难的事情。
2.API或者库
可以调用其他程序提供的api或者是库,比如PDF网上就有很多成熟的库,比如:http://www.pdflib.com/
3.同类语言的引用
DLL的调用之类的都算是这么回事,Java可以调用class等等,不过这个一般都是写好了,这个其实和2挺像的
还有比如什么的 不同语言之间的通信像是什么栈调用,那真的好烦,暂时还是不要考虑的好。
—————————————————————————————————————
第三、读取网站返回json或xml数据
无论是JSON或者是XML都是客户端的访问之后产生的一组数据。所以就是分为3步
1.模拟HTTP发送,或者是调用Webservice。
这一步,对于LZ来说就比较复杂了,我也只能给个思路,使用socket模拟出HTTP的请求。
2.接受请求
这个就是简单的多了,如果上面已经搞定,下面只需要去根据返回的数据把需要的那部分取出来。
2.1 JSON数据
为了减少LZ自己写库的需求,JSON推荐:
JSON
和MYSQL的一样,看文档对着写就OK
2.2 XML数据
http://xmlsoft.org/ 这个倒是真的没有用过··LZ试试看
————————————————————————————————————
第四、GUI我真的也不会,还好你没问!
————————————————————————
2014-04-24 12:12 补充:
LS说的也不错,其实高级语言更适合你,C做起来真的很累。 我觉得用 Python 会比较快。 这种事情不用我大PHP简直对不起题主,我保证题主的需求全都符合而且PHP比Python更傻瓜门槛更低。 这是一个课程设计?用C来做的话,还是有点难度的。
用四个库拼接来完成功能即可:
libmysqlclient -- 连接数据库
libcurl -- 读取网站
cjson -- 解析json数据
libxml2 -- 解析xml数据
运行外部程序,直接fork + execve/system就可以了吧.
模块组织上要先设计好,功能步骤理清晰,组织好目录结构和makefile,嗯,开工吧。 c语言也能干大事 很适合你 题主说了要用C,你们扯别的教育人家干啥
把你要用到的技术前面加lib,google之
或者这么搜 site:http://*.com c 加上mysql json 以你目前的经验来看,用PHP做这个事情,2,3天的工作量。
用C/C++,Java?没2,3月你搞不定 C语言完全可以实现,但是一般都要依赖一些库。但是我觉得用C语言实现这些功能完全没有意义。就像楼上提的那样,用Python更快更强大。 我也是在 JSON 和 MySQL 之间做衔接,用的是 Python。
回复内容:
Simple,只要LZ能保证你的C语言语法没有问题那就是妥妥的事情,剩下来就是调用函数的事情了—————————————————————————————————————
第一、连接MySQL
这个可能是比较简单的东西了,
1.下载这个 Mysql C的连接器,这个算是一个套件
MySQL :: Download Connector/C
2.阅读并模拟编写读取数据库代码
MySQL :: MySQL Connector/C Developer Guide
本人一直相信官方文档…至少不会有很多错误,网上的文章很多都是以讹传讹。
—————————————————————————————————————
第二、运行外部程序
2014-04-24 12:12 补充:
运行外部程序大概有这么3种:
1.System()函数
这个函数可以执行Linux下Shell的一行命令,所以压缩解压什么的,都不在话下,学好Shell本事就是意见挺困难的事情。
2.API或者库
可以调用其他程序提供的api或者是库,比如PDF网上就有很多成熟的库,比如:http://www.pdflib.com/
3.同类语言的引用
DLL的调用之类的都算是这么回事,Java可以调用class等等,不过这个一般都是写好了,这个其实和2挺像的
还有比如什么的 不同语言之间的通信像是什么栈调用,那真的好烦,暂时还是不要考虑的好。
—————————————————————————————————————
第三、读取网站返回json或xml数据
无论是JSON或者是XML都是客户端的访问之后产生的一组数据。所以就是分为3步
1.模拟HTTP发送,或者是调用Webservice。
这一步,对于LZ来说就比较复杂了,我也只能给个思路,使用socket模拟出HTTP的请求。
2.接受请求
这个就是简单的多了,如果上面已经搞定,下面只需要去根据返回的数据把需要的那部分取出来。
2.1 JSON数据
为了减少LZ自己写库的需求,JSON推荐:
JSON
和MYSQL的一样,看文档对着写就OK
2.2 XML数据
http://xmlsoft.org/ 这个倒是真的没有用过··LZ试试看
————————————————————————————————————
第四、GUI我真的也不会,还好你没问!
————————————————————————
2014-04-24 12:12 补充:
LS说的也不错,其实高级语言更适合你,C做起来真的很累。 我觉得用 Python 会比较快。 这种事情不用我大PHP简直对不起题主,我保证题主的需求全都符合而且PHP比Python更傻瓜门槛更低。 这是一个课程设计?用C来做的话,还是有点难度的。
用四个库拼接来完成功能即可:
libmysqlclient -- 连接数据库
libcurl -- 读取网站
cjson -- 解析json数据
libxml2 -- 解析xml数据
运行外部程序,直接fork + execve/system就可以了吧.
模块组织上要先设计好,功能步骤理清晰,组织好目录结构和makefile,嗯,开工吧。 c语言也能干大事 很适合你 题主说了要用C,你们扯别的教育人家干啥
把你要用到的技术前面加lib,google之
或者这么搜 site:http://*.com c 加上mysql json 以你目前的经验来看,用PHP做这个事情,2,3天的工作量。
用C/C++,Java?没2,3月你搞不定 C语言完全可以实现,但是一般都要依赖一些库。但是我觉得用C语言实现这些功能完全没有意义。就像楼上提的那样,用Python更快更强大。 我也是在 JSON 和 MySQL 之间做衔接,用的是 Python。
上一篇: 介绍CSS 中的rem单位
下一篇: 如何制做在线编译代码的网站?