﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-成长中的C++</title><link>http://www.cppblog.com/xuejzt/</link><description /><language>zh-cn</language><lastBuildDate>Tue, 14 Apr 2026 23:09:13 GMT</lastBuildDate><pubDate>Tue, 14 Apr 2026 23:09:13 GMT</pubDate><ttl>60</ttl><item><title>MySql常用命令总结</title><link>http://www.cppblog.com/xuejzt/archive/2009/05/23/85542.html</link><dc:creator>xuejzt</dc:creator><author>xuejzt</author><pubDate>Sat, 23 May 2009 13:21:00 GMT</pubDate><guid>http://www.cppblog.com/xuejzt/archive/2009/05/23/85542.html</guid><wfw:comment>http://www.cppblog.com/xuejzt/comments/85542.html</wfw:comment><comments>http://www.cppblog.com/xuejzt/archive/2009/05/23/85542.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xuejzt/comments/commentRss/85542.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xuejzt/services/trackbacks/85542.html</trackback:ping><description><![CDATA[linux系统有很多守护进程，大多数服务器都是用守护进程实现的。守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。<br>他们常常在系统引导装入时启动，在系统关闭时终止。你也可以自己来启动它们。archlinux下所有的服务器守护进程都放在/etc/rc.d文件夹下面。如果安装了mysql，就会在这个<br>文件夹里有一个名为mysqld的守护进程。要启动它，采用：<br>$ sudo /etc/rc.d/mysqld start<br>之后就可以登录mysql对里面的数据进行操作了。如果没有开启这个守护进程，尝试连接mysql数据库就会提示：<br>ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)<br>一下是使用mysql数据库常用的一些命令总结：<br>1:查看都有哪些数据库<br>&nbsp; mysql&gt; SHOW DATABASES;<br>2:创建MYSQLDATA数据库<br>&nbsp; mysql&gt; CREATE DATABASE MYSQLDATA;<br>3:选中MYSQLDATA数据库<br>&nbsp; mysql&gt; USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功！)<br>4:查看当前数据库中TABLE<br>&nbsp; mysql&gt; SHOW TABLES;<br>5:创建一个TABLE<br>&nbsp; mysql&gt; CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));<br>6:显示表结构<br>&nbsp; mysql&gt; DESCRIBE MYTABLE;<br>7:插入数据<br>&nbsp; mysql&gt; insert into MYTABLE values ("hyq","M");<br>8:用文本方式将数据装入数据库表中<br>&nbsp; mysql&gt; LOAD DATA LOCAL INFILE "/home/test/music.txt" INTO TABLE MYTABLE;<br>9:导入.sql文件命令（例如D:/mysql.sql）<br>&nbsp; mysql&gt;use database;<br>&nbsp; mysql&gt;source d:/mysql.sql;<br>10:删除表<br>&nbsp; mysql&gt;drop TABLE MYTABLE;<br>11:清空表<br>&nbsp; mysql&gt;delete from MYTABLE;<br>12:更新表中数据<br>&nbsp; mysql&gt;update MYTABLE set sex="f" where name='hyq';<br><br><br>MySql的用户管理是通过 User表来实现的，添加新用户常用的方法有两个，一是在User表插入相应的数据行，同时设置相应的权限；二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下：<br>grant all on mydb.* to NewUserName@HostName identified by "password" ;<br>grant usage on *.* to NewUserName@HostName identified by "password";<br>grant select,insert,update on mydb.* to NewUserName@HostName identified by "password";<br>grant update,delete on mydb.TestTable to NewUserName@HostName identified by "password";<br>若要给此用户赋予他在相应对象上的权限的管理能力，可在GRANT后面添加WITH GRANT OPTION选项。而对于用插入User表添加的用户，Password字段应用PASSWORD 函数进行更新加密，以防不轨之人窃看密码。对于那些已经不用的用户应给予清除，权限过界的用户应及时回收权限，回收权限可以通过更新User表相应字段，也可以使用REVOKE操作。<br>下面给出本人从其它资料(www.cn-java.com)获得的对常用权限的解释：<br>全局管理权限：<br>FILE: 在MySQL服务器上读写文件。<br>PROCESS: 显示或杀死属于其它用户的服务线程。<br>RELOAD: 重载访问控制表，刷新日志等。<br>SHUTDOWN: 关闭MySQL服务。<br>数据库/数据表/数据列权限：<br>ALTER: 修改已存在的数据表(例如增加/删除列)和索引。<br>CREATE: 建立新的数据库或数据表。<br>DELETE: 删除表的记录。<br>DROP: 删除数据表或数据库。<br>INDEX: 建立或删除索引。<br>INSERT: 增加表的记录。<br>SELECT: 显示/搜索表的记录。<br>UPDATE: 修改表中已存在的记录。<br>特别的权限：<br>ALL: 允许做任何事(和root一样)。<br>USAGE: 只允许登录--其它什么也不允许做。
<br><img src ="http://www.cppblog.com/xuejzt/aggbug/85542.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xuejzt/" target="_blank">xuejzt</a> 2009-05-23 21:21 <a href="http://www.cppblog.com/xuejzt/archive/2009/05/23/85542.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C语言连接Mysql数据库</title><link>http://www.cppblog.com/xuejzt/archive/2009/05/23/85540.html</link><dc:creator>xuejzt</dc:creator><author>xuejzt</author><pubDate>Sat, 23 May 2009 13:05:00 GMT</pubDate><guid>http://www.cppblog.com/xuejzt/archive/2009/05/23/85540.html</guid><wfw:comment>http://www.cppblog.com/xuejzt/comments/85540.html</wfw:comment><comments>http://www.cppblog.com/xuejzt/archive/2009/05/23/85540.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/xuejzt/comments/commentRss/85540.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xuejzt/services/trackbacks/85540.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008080;">&nbsp;&nbsp;1</span>&nbsp;<span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">mysql.h</span><span style="color: #000000;">&gt;</span><span style="color: #008000;">/*</span><span style="color: #008000;">注意要包含这个头文件</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;2</span>&nbsp;<span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;3</span>&nbsp;<span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">stdlib.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;4</span>&nbsp;<span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">stdio.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;5</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;6</span>&nbsp;<span style="color: #000000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;">定义了一些数据库连接需要的宏</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;7</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;HOST&nbsp;"localhost"</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;8</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;USERNAME&nbsp;"ABitNo"</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;&nbsp;9</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;PASSWORD&nbsp;"ABitNo"</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;10</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">#define</span><span style="color: #000000;">&nbsp;DATABASE&nbsp;"abitno"</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;11</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;12</span>&nbsp;<span style="color: #000000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;">这个函数用来执行传入的sql語句</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;13</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;exe_sql(</span><span style="color: #0000ff;">char</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;sql)&nbsp;{<br></span><span style="color: #008080;">&nbsp;14</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;MYSQL&nbsp;my_connection;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">这是一个数据库连接</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;res;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">执行sql語句后的返回标志</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;17</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;18</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">初始化mysql连接my_connection</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;19</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;mysql_init(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">my_connection);<br></span><span style="color: #008080;">&nbsp;20</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;21</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">这里就是用了mysql.h里的一个函数，用我们之前定义的那些宏建立mysql连接，并<br></span><span style="color: #008080;">&nbsp;22</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;返回一个值，返回不为空证明连接是成功的</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;23</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(mysql_real_connect(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">my_connection,&nbsp;HOST,&nbsp;USERNAME,&nbsp;PASSWORD,&nbsp;DATABASE,<br></span><span style="color: #008080;">&nbsp;24</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;NULL,&nbsp;CLIENT_FOUND_ROWS))&nbsp;{</span><span style="color: #008000;">/*</span><span style="color: #008000;">连接成功</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;25</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;26</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">数据库执行exe_sql连接成功！\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;27</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;28</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">这句话是设置查询编码为utf8，这样支持中文</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;29</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_query(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">my_connection,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">set&nbsp;names&nbsp;utf8</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;30</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;31</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">下面这句话就是用mysql_query函数来执行我们刚刚传入的sql語句，<br></span><span style="color: #008080;">&nbsp;32</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这会返回一个int值，如果为0，证明語句执行成功</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;33</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;mysql_query(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">my_connection,&nbsp;sql);<br></span><span style="color: #008080;">&nbsp;34</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;35</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(res)&nbsp;{</span><span style="color: #008000;">/*</span><span style="color: #008000;">现在就代表执行失败了</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;36</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">Error：&nbsp;mysql_query&nbsp;!\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;37</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">不要忘了关闭连接</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;38</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_close(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">my_connection);<br></span><span style="color: #008080;">&nbsp;39</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{</span><span style="color: #008000;">/*</span><span style="color: #008000;">现在就代表执行成功了</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;40</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">mysql_affected_rows会返回执行sql后影响的行数</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;41</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d&nbsp;行受到影响！\n\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;mysql_affected_rows(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">my_connection));<br></span><span style="color: #008080;">&nbsp;42</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">不要忘了关闭连接</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;43</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_close(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">my_connection);<br></span><span style="color: #008080;">&nbsp;44</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;45</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;46</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br></span><span style="color: #008080;">&nbsp;47</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">数据库连接失败</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;48</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">数据库执行exe_sql连接失败！\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;49</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">&nbsp;50</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">&nbsp;51</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;52</span>&nbsp;<span style="color: #000000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;">这个函数用来执行传入的sql語句，并打印出查询結果</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;53</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;query_sql(</span><span style="color: #0000ff;">char</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;sql)&nbsp;{<br></span><span style="color: #008080;">&nbsp;54</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;MYSQL&nbsp;my_connection;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">这是一个数据库连接</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;55</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;res;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">执行sql語句后的返回标志</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;56</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;MYSQL_RES&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">res_ptr;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">指向查询结果的指针</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;57</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;MYSQL_FIELD&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">field;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">字段结构指针</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;58</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;MYSQL_ROW&nbsp;result_row;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">按行返回的查询信息</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;59</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;60</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;row,&nbsp;column;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">查询返回的行数和列数</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;61</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i,&nbsp;j;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">只是控制循环的两个变量</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;62</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;63</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">初始化mysql连接my_connection</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;64</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;mysql_init(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">my_connection);<br></span><span style="color: #008080;">&nbsp;65</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;66</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">这里就是用了mysql.h里的一个函数，用我们之前定义的那些宏建立mysql连接，并<br></span><span style="color: #008080;">&nbsp;67</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;返回一个值，返回不为空证明连接是成功的</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;68</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(mysql_real_connect(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">my_connection,&nbsp;HOST,&nbsp;USERNAME,&nbsp;PASSWORD,&nbsp;DATABASE,<br></span><span style="color: #008080;">&nbsp;69</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;NULL,&nbsp;CLIENT_FOUND_ROWS))&nbsp;{</span><span style="color: #008000;">/*</span><span style="color: #008000;">Connection&nbsp;success</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;70</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;71</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">数据库查询query_sql连接成功！\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;72</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;73</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">这句话是设置查询编码为utf8，这样支持中文</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;74</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_query(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">my_connection,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">set&nbsp;names&nbsp;utf8</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;75</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;76</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">下面这句话就是用mysql_query函数来执行我们刚刚传入的sql語句，<br></span><span style="color: #008080;">&nbsp;77</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这会返回一个int值，如果为0，证明語句执行成功</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;78</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;mysql_query(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">my_connection,&nbsp;sql);<br></span><span style="color: #008080;">&nbsp;79</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;80</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(res)&nbsp;{&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">现在就代表执行失败了</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;81</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">Error：&nbsp;mysql_query&nbsp;!\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;82</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">不要忘了关闭连接</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;83</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_close(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">my_connection);<br></span><span style="color: #008080;">&nbsp;84</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">现在就代表执行成功了</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;85</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">将查询的結果给res_ptr</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;86</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res_ptr&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;mysql_store_result(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">my_connection);<br></span><span style="color: #008080;">&nbsp;87</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;88</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">如果结果不为空，就把结果print</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;89</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(res_ptr)&nbsp;{<br></span><span style="color: #008080;">&nbsp;90</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">取得結果的行数和</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;91</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;column&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;mysql_num_fields(res_ptr);<br></span><span style="color: #008080;">&nbsp;92</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;mysql_num_rows(res_ptr)&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br></span><span style="color: #008080;">&nbsp;93</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">查询到&nbsp;%lu&nbsp;行&nbsp;\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;row);<br></span><span style="color: #008080;">&nbsp;94</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;95</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">输出結果的字段名</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;96</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;field&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;mysql_fetch_field(res_ptr);&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br></span><span style="color: #008080;">&nbsp;97</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%s\t</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;field</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">name);<br></span><span style="color: #008080;">&nbsp;98</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;99</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">100</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">按行输出結果</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">101</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;row;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br></span><span style="color: #008080;">102</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result_row&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;mysql_fetch_row(res_ptr);<br></span><span style="color: #008080;">103</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(j&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;j&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;column;&nbsp;j</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br></span><span style="color: #008080;">104</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%s\t</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;result_row[j]);<br></span><span style="color: #008080;">105</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">106</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">107</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">108</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">109</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">110</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">不要忘了关闭连接</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">111</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_close(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">my_connection);<br></span><span style="color: #008080;">112</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">113</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">114</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">115</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">116</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;argc,&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">argv[])&nbsp;{<br></span><span style="color: #008080;">117</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">测试下向里面插入数据</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">118</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">exe&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">insert&nbsp;into&nbsp;abitno&nbsp;values('ABitNo','http://ABitNo.LinPie.com');</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br></span><span style="color: #008080;">119</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;exe_sql(exe);<br></span><span style="color: #008080;">120</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">121</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">测试下查询</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">122</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">query&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">select&nbsp;*&nbsp;from&nbsp;abitno;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br></span><span style="color: #008080;">123</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;query_sql(query);<br></span><span style="color: #008080;">124</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">125</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br></span><span style="color: #008080;">126</span>&nbsp;<span style="color: #000000;">}<br><br>转载自：<br>http://abitno.linpie.com/linux-c-connect-mysql.html
<br></span></div>
<br>  <img src ="http://www.cppblog.com/xuejzt/aggbug/85540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xuejzt/" target="_blank">xuejzt</a> 2009-05-23 21:05 <a href="http://www.cppblog.com/xuejzt/archive/2009/05/23/85540.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>firefox设置及扩展</title><link>http://www.cppblog.com/xuejzt/archive/2009/05/23/85539.html</link><dc:creator>xuejzt</dc:creator><author>xuejzt</author><pubDate>Sat, 23 May 2009 12:59:00 GMT</pubDate><guid>http://www.cppblog.com/xuejzt/archive/2009/05/23/85539.html</guid><wfw:comment>http://www.cppblog.com/xuejzt/comments/85539.html</wfw:comment><comments>http://www.cppblog.com/xuejzt/archive/2009/05/23/85539.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xuejzt/comments/commentRss/85539.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xuejzt/services/trackbacks/85539.html</trackback:ping><description><![CDATA[<h3 style="text-align: left;" class="title">这部分内容会随着时间逐渐的积累，很多东西只要很用心，没有办不到的。</h3>
archlinux下安装firefox如下：<br>$ sudo pacman -S firefox flashplugin gecko-mediaplayer<br>gecko-mediaplayer is More stable combined with MPlayer 1.0RC2, A good replacement of the now aging mplayer-plugin. <br><br>
<h3 style="text-align: left;" class="title">设置1. urlclassifier3.sqlite</h3>
<p>
urlclassifier3.sqlite文件用于记录Firefox从Google抓取的反钓鱼网站和恶意站点数据的,但是这个文件大小在默认情况下
会不断地增长,会导致firefox启动响应很慢。</p>
<p>通过设置"urlclassifier.updatecachemax"可以限制urlclassifier3.sqlite的大小. </p>
<p>
Linux版本下"urlclassifier.updatecachemax"默认为104857600 (100 MB)。</p>
<p>
在地址栏输入about:config，出现一个警告，点击同意后进行高级设置。在过滤器中输入上面字串，改它的值为20971520（20m）。删除urlclassifier3.sqlite重新启动Firefox就可以了。</p>
<p><br></p>
<p style="font-weight: bold;">扩展列表：</p>
<p>1. Vimperator <br></p>
<p>&nbsp;&nbsp;&nbsp; Make firefox behave like vim.</p>
<p>2. Adblock Plus</p>
<p>&nbsp;&nbsp;&nbsp; Ads were yesterday!</p>
<p>3. CacheView</p>
<p>&nbsp;&nbsp;&nbsp; Allows searching and sorting cache files.</p>
<p>4. Download Statusbar</p>
<p>&nbsp;&nbsp;&nbsp; View and manage downloads from a tidy statusbar.</p>
<p>5. DownloadHelper</p>
<p>&nbsp;&nbsp;&nbsp; Download videos and images from many sites.</p>
<p>6. Fission</p>
<p>&nbsp;&nbsp;&nbsp; Safari style progress bar in the address bar.</p>
<p>7. ColorfulTabs</p>
<p>&nbsp;&nbsp;&nbsp; Colors every tab in a different color.</p>
<p>8. Better Gmail 2</p>
<p>&nbsp;&nbsp;&nbsp; Enhances Gmail.</p>
<p>9. Gmail notifier</p>
<p>&nbsp;&nbsp;&nbsp; A notifier for Gmail accounts.</p>
<p>10. Better GCal</p>
<p>&nbsp;&nbsp;&nbsp; Enhances Google Calendar.<br></p>
<p><br></p>
<br> <img src ="http://www.cppblog.com/xuejzt/aggbug/85539.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xuejzt/" target="_blank">xuejzt</a> 2009-05-23 20:59 <a href="http://www.cppblog.com/xuejzt/archive/2009/05/23/85539.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Vimperator</title><link>http://www.cppblog.com/xuejzt/archive/2009/05/23/85537.html</link><dc:creator>xuejzt</dc:creator><author>xuejzt</author><pubDate>Sat, 23 May 2009 12:13:00 GMT</pubDate><guid>http://www.cppblog.com/xuejzt/archive/2009/05/23/85537.html</guid><wfw:comment>http://www.cppblog.com/xuejzt/comments/85537.html</wfw:comment><comments>http://www.cppblog.com/xuejzt/archive/2009/05/23/85537.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xuejzt/comments/commentRss/85537.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xuejzt/services/trackbacks/85537.html</trackback:ping><description><![CDATA[vimperator是firefox下面的一款插件，它可以将你的firefox变成vim，就感觉你在用vim。效果特别好。强烈推荐～～<br>nomal模式下输入:help就可以查看vimperator帮助<br>小结如下：<br>&nbsp;&nbsp; 1. esc，当快捷键无效时候大部分是因为切换到了命令模式，esc返回正常模式；<br>&nbsp;&nbsp; 2. tab，善用tab补全；<br>&nbsp;&nbsp; 3. o/t，当前/新标签打开页面；<br>&nbsp;&nbsp; 4. Shift+h/l，后退/前进，一般来说后退用的比较多；<br>&nbsp;&nbsp; 5. u，undo，撤销关闭的标签；<br>&nbsp;&nbsp; 6. d，关闭当前页面；<br>&nbsp;&nbsp; 7. r/R，刷新/强制刷新当前页面；<br>&nbsp;&nbsp; 8. /，当前页面查找，回车后n标记下一个关键字，N标记上一个关键字；<br>&nbsp;&nbsp; 9. y/Y，复制当前标签页url/复制选中的文字；<br>&nbsp; 10. gg/gG，跳转到页面顶端/底端；<br>&nbsp; 11. p/P，粘帖并打开当前剪贴板里的url地址，小写当前标签打开，大写新标签打开；<br>&nbsp; 12. gf，查看页面源代码；<br>&nbsp; 13. f，进入QuickHint modo，用的不多；<br>&nbsp; 14. :pref，或者 :pr 加tab补全，打开Fx opinion对话框；<br>&nbsp; 15. :addons，扩展列表，同样可以tab补全；<br>&nbsp; 16. :restart，重启Fx；
<br><img style="width: 974px; height: 580px;" alt="" src="http://www.cppblog.com/images/cppblog_com/xuejzt/vimperator.jpg"><br><br>   <img src ="http://www.cppblog.com/xuejzt/aggbug/85537.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xuejzt/" target="_blank">xuejzt</a> 2009-05-23 20:13 <a href="http://www.cppblog.com/xuejzt/archive/2009/05/23/85537.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>回家了～～</title><link>http://www.cppblog.com/xuejzt/archive/2009/05/22/85373.html</link><dc:creator>xuejzt</dc:creator><author>xuejzt</author><pubDate>Fri, 22 May 2009 05:19:00 GMT</pubDate><guid>http://www.cppblog.com/xuejzt/archive/2009/05/22/85373.html</guid><wfw:comment>http://www.cppblog.com/xuejzt/comments/85373.html</wfw:comment><comments>http://www.cppblog.com/xuejzt/archive/2009/05/22/85373.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xuejzt/comments/commentRss/85373.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xuejzt/services/trackbacks/85373.html</trackback:ping><description><![CDATA[已经大概有半年没有登录我的这个博客了，不是因为我懒，只是自己一直在徘徊。我一直在寻找一个可以让我长久的留下来写博客的地方，现在我回来了！！我现在有两个博客，一个我想用来记录我自己的生活，情感，感悟，以及对人生的一些看法及认识，起名为&#8220;我就在这里&#8221;，现在我把这个地方选在了微软的windows live里<a title="xuej's blog" href="http://atengzt.spaces.live.com/default.aspx" target=_blank><strong>xuej's blog</strong></a>. 另外一个就是这个地方，我要用来记录我在技术学习中的一些体会，还有一些总结，以及看书的笔记。我很喜欢这个博客，没有多少广告，界面干净整洁，代码可以高亮显示，常用的工具都列在了工具栏里很方便使用。<br>马上要论文答辩了，论文写作还有个关键的环节就完成了，等答辩结束了，我就会回来。<br><br>
<img src ="http://www.cppblog.com/xuejzt/aggbug/85373.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xuejzt/" target="_blank">xuejzt</a> 2009-05-22 13:19 <a href="http://www.cppblog.com/xuejzt/archive/2009/05/22/85373.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++中的空类，默认产生哪些类成员函数？</title><link>http://www.cppblog.com/xuejzt/archive/2008/10/08/63467.html</link><dc:creator>xuejzt</dc:creator><author>xuejzt</author><pubDate>Wed, 08 Oct 2008 07:14:00 GMT</pubDate><guid>http://www.cppblog.com/xuejzt/archive/2008/10/08/63467.html</guid><wfw:comment>http://www.cppblog.com/xuejzt/comments/63467.html</wfw:comment><comments>http://www.cppblog.com/xuejzt/archive/2008/10/08/63467.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xuejzt/comments/commentRss/63467.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xuejzt/services/trackbacks/63467.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Empty<br>{<br></span><span style="color: #0000ff;">public</span><span style="color: #000000;">:<br>&nbsp;&nbsp;&nbsp;&nbsp;Empty();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;缺省构造函数</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;Empty(&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;Empty</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;拷贝构造函数</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">~</span><span style="color: #000000;">Empty();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;析构函数</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;Empty</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">=</span><span style="color: #000000;">(&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;Empty</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;);&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;赋值运算符</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;Empty</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;取址运算符</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;Empty</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;取址运算符&nbsp;const</span><span style="color: #008000;"><br></span><span style="color: #000000;">};</span></div>
<br><img src ="http://www.cppblog.com/xuejzt/aggbug/63467.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xuejzt/" target="_blank">xuejzt</a> 2008-10-08 15:14 <a href="http://www.cppblog.com/xuejzt/archive/2008/10/08/63467.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>下面程序输出是什么？</title><link>http://www.cppblog.com/xuejzt/archive/2008/10/08/63462.html</link><dc:creator>xuejzt</dc:creator><author>xuejzt</author><pubDate>Wed, 08 Oct 2008 06:56:00 GMT</pubDate><guid>http://www.cppblog.com/xuejzt/archive/2008/10/08/63462.html</guid><wfw:comment>http://www.cppblog.com/xuejzt/comments/63462.html</wfw:comment><comments>http://www.cppblog.com/xuejzt/archive/2008/10/08/63462.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xuejzt/comments/commentRss/63462.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xuejzt/services/trackbacks/63462.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">iostream</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">namespace</span><span style="color: #000000;">&nbsp;std;<br><br></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;argc,&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">argv[])<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;str1[]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">abc</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;str2[]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">abc</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;str3[]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">abc</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;str4[]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">abc</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;str5&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">abc</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;str6&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">abc</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;boolalpha&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;(str1&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;str2)&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;boolalpha&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;(str3&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;str4)&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;boolalpha&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;(str5&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;str6)&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>}<br></span></div>
<br>分别输出false,false,true。str1和str2都是字符数组，每个都有其自己的存储区，它们的值则是各存储区首地址，不等；str3和
str4同上，只是按const语义，它们所指向的数据区不能修改。str5和str6并非数组而是字符指针，并不分配存储区，其后的&#8220;abc&#8221;以常量形
式存于静态数据区，而它们自己仅是指向该区首地址的指针，相等
<br>
<br>boolalpha  用符号形式表示真假。<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">iostream</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">namespace</span><span style="color: #000000;">&nbsp;std;<br><br></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;argc,&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">argv[])<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;a&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1.0f</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">)a&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">)a&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;boolalpha&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;(&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">)a&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">)a&nbsp;)&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;输出什么？</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;b&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">)b&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">)b&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;boolalpha&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;(&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">)b&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">)b&nbsp;)&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;输出什么？</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>}</span></div>
<br>... <br> cout  &lt;  &lt; boolalpha  &lt;  &lt; ( (int)a == (int&amp;)a )  &lt;  &lt; endl;  <br> // 输出 false, 因为 float 的 1 和 int 的 1 在内存里的表示不一样。 <br> ... <br> cout  &lt;  &lt; boolalpha  &lt;  &lt; ( (int)b == (int&amp;)b )  &lt;  &lt; endl; // 输出 true <br> // 输出 true, 因为 float 的 0 和 int 的 0 在内存里的表示是一样的。 <br><br>(int &amp;)a 就表示 不管 a 是什么，我都当他是一个int变量。 <br> 从机器码的角度来说，变量a会被翻译成一个内存地址，(int &amp;)a 就是说，这个内存地址里的内容它是一个整数。 <br>  <br> (int)a 呢不同：如果 a 不是整数，就会按规则转换成整数，存入另一个地址(或临时变量)中去。<br><br>浮点数的 1.0f 在内存里是这样表示的： <br> 0011 1111 1000 0000 00000000 00000000 <br> 这个32位二进制数被当作整数输出就是： <br> 1065353216 <br> 而整数的 1 在内存里是这样表示的： <br> 0000 0000 0000 0000 00000000 00000001 <br>  <br> 所以 (int)a != (int&amp;)a <br>  <br> 浮点的0和整数的0 在内存里都是： <br> 0000 0000 0000 0000 00000000 00000000 <br>  <br> 所以 (int)b == (int&amp;)b <br><br> <img src ="http://www.cppblog.com/xuejzt/aggbug/63462.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xuejzt/" target="_blank">xuejzt</a> 2008-10-08 14:56 <a href="http://www.cppblog.com/xuejzt/archive/2008/10/08/63462.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转载]在 Emacs 里面使用 Cscope</title><link>http://www.cppblog.com/xuejzt/archive/2008/10/04/63239.html</link><dc:creator>xuejzt</dc:creator><author>xuejzt</author><pubDate>Sat, 04 Oct 2008 08:37:00 GMT</pubDate><guid>http://www.cppblog.com/xuejzt/archive/2008/10/04/63239.html</guid><wfw:comment>http://www.cppblog.com/xuejzt/comments/63239.html</wfw:comment><comments>http://www.cppblog.com/xuejzt/archive/2008/10/04/63239.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xuejzt/comments/commentRss/63239.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xuejzt/services/trackbacks/63239.html</trackback:ping><description><![CDATA[<div class="contents">
<h2>Contents</h2>
<dl><dt>
<a  href="http://pluskid.lifegoo.com/wiki/EmacsCscope.html#sec1">简介</a>
</dt><dt>
<a  href="http://pluskid.lifegoo.com/wiki/EmacsCscope.html#sec2">安装和配置</a>
</dt><dt>
<a  href="http://pluskid.lifegoo.com/wiki/EmacsCscope.html#sec3">使用简介</a>
</dt></dl>
</div>
<!-- Page published by Emacs Muse begins here -->
<h2><a name="sec1" id="sec1"></a>
简介</h2>
<p class="first">对于浏览源代码来说，在 <a  href="http://pluskid.lifegoo.com/wiki/Emacs.html">Emacs</a> 里面也有很多工具可用，比如自带的 etags 就
不错，不过功能不如 Cscope 强大。 Cscope 并不像 etags 那样属于 Emacs ，
它是一个独立的程序。它是一个具有完全 Unix 血统的程序，用于帮助开发人员
浏览源代码。它最初(那还是 PDP-11 的时代)是由 Bell 实验室开发，并且多年
以来一直是 AT&amp;T Unix 商业发行版的一部分。它已经被用于管理超过两千万行代
码的工程。在2000年4月，多亏了 <a  href="http://www.sco.com/">Santa Cruz Operation, Inc. (SCO)</a> ，
Cscope 的源代码在 BSD <a  href="http://cscope.sourceforge.net/license.html">license</a> 下开放了源代码。</p>
<p>Cscope 的发行包里面有个 xcscope.el 能很好地用于 (X)Emacs 。它处于源代
码包的 contrib/xcscope 目录下。该目录下面还有一个名为 cscope-indexer
的脚本文件，用于处理源代码并不是在一个文件夹下面的情况。</p>
<h2><a name="sec2" id="sec2"></a>
安装和配置</h2>
<p class="first">首先到 <a  href="http://cscope.sourceforge.net/">Cscope 的主页</a> 上去下载最新的源代码包，编译安装。要在 Emacs 里面
使用，首先必须把 xcscope.el 拷贝到 load-path 里面包含的目录里面。并在
<code>~/.emacs</code> 里面加上 <code>(require 'xcscope)</code> 就可以了，或者，如果你希望在打开
c 或者 c++ 文件的时候才加载 xcsope ，可以写：</p>
<pre class="example">(add-hook 'c-mode-common-hook<br>	  '(lambda ()<br>	    (require 'xcscope)))<br></pre>
<p>如果源代码全部处于同一个目录下面，现在就可以使用了。否则，如果源代码有
多层目录，或者其他地方还有附加的源代码，则需要 cscope-indexer 脚本。把
那个脚本拷贝到系统 PATH 里面去(如 <code>/usr/bin/</code>)。如果所有的源代码以及子目
录都是在同一个目录下面的，只要执行 <code>C-c s I(cscope-index-files)</code> 就可以
生成 Cscope 的数据库，接下来就可以使用了。</p>
<h2><a name="sec3" id="sec3"></a>
使用简介</h2>
<p class="first">默认是的快捷键都是绑定到 <code>C-c s</code> 的前缀上面，如果嫌麻烦的话可以自己更改
快捷键绑定。这是默认的用于查找的键绑定：</p>
<pre class="example">C-c s s         Find symbol.<br>C-c s d         Find global definition.<br>C-c s g         Find global definition (alternate binding).<br>C-c s G         Find global definition without prompting.<br>C-c s c         Find functions calling a function.<br>C-c s C         Find called functions (list functions called<br>                from a function).<br>C-c s t         Find text string.<br>C-c s e         Find egrep pattern.<br>C-c s f         Find a file.<br>C-c s i         Find files #including a file.<br></pre>
<p>下面是在搜索到的结果之间切换用的快捷键：</p>
<pre class="example">C-c s b         Display *cscope* buffer.<br>C-c s B         Auto display *cscope* buffer toggle.<br>C-c s n         Next symbol.<br>C-c s N         Next file.<br>C-c s p         Previous symbol.<br>C-c s P         Previous file.<br>C-c s u         Pop mark.<br></pre>
<p>更详细的使用说明请参见 xcscope.el 文件头部的注释。</p>
<p>转载：http://pluskid.lifegoo.com/wiki/EmacsCscope.html<br></p><img src ="http://www.cppblog.com/xuejzt/aggbug/63239.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xuejzt/" target="_blank">xuejzt</a> 2008-10-04 16:37 <a href="http://www.cppblog.com/xuejzt/archive/2008/10/04/63239.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转载]揭开正则表达式的神秘面纱</title><link>http://www.cppblog.com/xuejzt/archive/2008/10/04/63235.html</link><dc:creator>xuejzt</dc:creator><author>xuejzt</author><pubDate>Sat, 04 Oct 2008 07:45:00 GMT</pubDate><guid>http://www.cppblog.com/xuejzt/archive/2008/10/04/63235.html</guid><wfw:comment>http://www.cppblog.com/xuejzt/comments/63235.html</wfw:comment><comments>http://www.cppblog.com/xuejzt/archive/2008/10/04/63235.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xuejzt/comments/commentRss/63235.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xuejzt/services/trackbacks/63235.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 正则表达式（regular expression）就是用一个“字符串”来描述一个特征，然后去验证另一个“字符串”是否符合这个特征。比如表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ”，那么 'ab', 'abb', 'abbbbbbbbbb' 都符合这个特征。&nbsp;&nbsp;<a href='http://www.cppblog.com/xuejzt/archive/2008/10/04/63235.html'>阅读全文</a><img src ="http://www.cppblog.com/xuejzt/aggbug/63235.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xuejzt/" target="_blank">xuejzt</a> 2008-10-04 15:45 <a href="http://www.cppblog.com/xuejzt/archive/2008/10/04/63235.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用迭代器代替索引</title><link>http://www.cppblog.com/xuejzt/archive/2008/10/04/63234.html</link><dc:creator>xuejzt</dc:creator><author>xuejzt</author><pubDate>Sat, 04 Oct 2008 07:13:00 GMT</pubDate><guid>http://www.cppblog.com/xuejzt/archive/2008/10/04/63234.html</guid><wfw:comment>http://www.cppblog.com/xuejzt/comments/63234.html</wfw:comment><comments>http://www.cppblog.com/xuejzt/archive/2008/10/04/63234.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xuejzt/comments/commentRss/63234.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xuejzt/services/trackbacks/63234.html</trackback:ping><description><![CDATA[/**<br>&nbsp;* Accelerated C++ 笔记<br>**/<br>每一个标准容器，例如向量，都定义了两种相关的迭代器类型：<br>container-type::const_iterator<br>container-type::iterator<br>这里container-type是诸如vector&lt;Student_info&gt;这样的容器类型。<br>如果我们想用一个迭代起来修改存储在容器中的值，就使用iterator类型；如果我们仅仅需要读操作，那么就使用const_iterator类型。<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008000;">//</span><span style="color: #008000;">索引方式</span><span style="color: #008000;"><br></span><span style="color: #0000ff;">for</span><span style="color: #000000;">(vector</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Student_info</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">::size_type&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;students.end();&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">i)<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;students[i].name&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br><br></span><span style="color: #008000;">//</span><span style="color: #008000;">迭代器</span><span style="color: #008000;"><br></span><span style="color: #0000ff;">for</span><span style="color: #000000;">(vector</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Student_info</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">::const_iterator&nbsp;iter&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;students.begin();&nbsp;iter&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;students.end();&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">iter){<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">*</span><span style="color: #000000;">iter).name&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">或者&nbsp;cout&nbsp;&lt;&lt;&nbsp;iter-&gt;name&nbsp;&lt;&lt;&nbsp;endl;</span><span style="color: #008000;"><br></span><span style="color: #000000;">}</span></div>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008000;">//</span><span style="color: #008000;">用迭代器代替索引：效率可能不高</span><span style="color: #008000;"><br></span><span style="color: #000000;">vector</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Student_info</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;extract_fails(vector</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Student_info</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #000000;">&nbsp;students)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;vector</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Student_info</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;fail;<br>&nbsp;&nbsp;&nbsp;&nbsp;vector</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Student_info</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">::iterator&nbsp;iter&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;students.begin();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(iter&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;students.end()){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(fgrade(</span><span style="color: #000000;">*</span><span style="color: #000000;">iter)){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fail.push_back(</span><span style="color: #000000;">*</span><span style="color: #000000;">iter);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iter&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;students.erase(iter);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">iter;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;fail;<br>}</span></div>
<br><br> <img src ="http://www.cppblog.com/xuejzt/aggbug/63234.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xuejzt/" target="_blank">xuejzt</a> 2008-10-04 15:13 <a href="http://www.cppblog.com/xuejzt/archive/2008/10/04/63234.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>