C/C++
文章平均质量分 81
albon_arith
欢迎交流
展开
-
学习C++和编程的50个观点(转)
下面的是学C++时要注意的。绝对经典!! 1.把C++当成一门新的语言学习(和C没啥关系!真的。);2.看《Thinking In C++》,不要看《C++变成死相》;3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;4.不要被VC、BCB、BC、M转载 2009-10-07 14:41:00 · 798 阅读 · 0 评论 -
Linux C连接Mysql数据库
1. 连接数据库/*练习mysql数据库的连接*/#include #include int main(){ MYSQL mysql; int t, r; /*连接之前,先用mysql_init初始化MYSQL连接句柄*/ mysql_init(&mysql); /*使用mysql_real_connect连接服务器,其参数依次为MYSQL句柄,服务器IP地址, 登录my原创 2012-03-31 10:26:43 · 12870 阅读 · 0 评论 -
libxml C解析xml文档
1. 代码#include #include #include void parseDoc(char *filename);void printChildrenNames(xmlDocPtr doc, xmlNodePtr cur);//解析xml文件void parseDoc(char *filename) { xmlDocPtr doc; xmlNod原创 2012-04-06 20:49:10 · 4230 阅读 · 0 评论 -
libxml C语言写xml文档
1. 示例源码#include #include #include #include #define MY_ENCODING "ISO-8859-1"xmlChar *ConvertInput(const char *in, const char *encoding);void testXmlwriterFilename(const char *uri);voidtest原创 2012-04-06 22:08:23 · 5754 阅读 · 1 评论 -
Linux exec函数的使用
1. 示例/*exec函数示例*/#include #include int main(void){ int flag; pid_t pid; char *const argv[] = {"%U", "--user-data-dir=/home/Administrator/.chromiun", NULL}; //exec把当前进程印象替换成新的程序文件,故调用进程被覆盖原创 2012-04-11 09:47:23 · 8379 阅读 · 2 评论 -
Windows RPC远程过程调用(1): 最基本的
Windows本身支持成为一个RPC服务器。WindowsXP上面默认的RPC/tcpip功能没有打开,必须运行gpedit.msc,计算机配置->管理模版->系统->远程过程调用->用于未验证的RPC...->选择"已启动",限定项选择"无"。第1步:编写 IDL(Interface Description Language,接口描述语言)文件test.idl[ u原创 2012-05-28 11:04:36 · 7532 阅读 · 1 评论 -
Windows RPC远程过程调用(2): 返回整数和整数数组
在 http://blog.csdn.net/hustspy1990/article/details/7608422基础上编写。1. 返回整数在idl文件中,添加函数,并用midl编译。void intAdd2([in]int x, [in]int y,[out]int* plus);在server代码中添加函数实现void intAdd2(原创 2012-05-28 17:14:37 · 2394 阅读 · 0 评论 -
<Effective C++: 习惯C++> 笔记
条款01:视C++为一个语言联邦。C++目前是个多重范型编程语言,一个同时支持过程形式、面向对象形式、函数形式、范型形式、元编程形式的语言。总的来说,C++包含四种次语言。CObject-Oriented C++Template C++STL另外,还有boost库,包含了很多很多尚未加入标准的新特性。原创 2012-05-31 17:27:27 · 959 阅读 · 0 评论 -
<Effective C++: 资源管理> 笔记
条款13:为防止资源泄漏,请使用RAII对象,它们在构造函数中,获得资源并在析构函数中释放资源。两个常被使用的RAII对象分别是shared_ptr和auto_ptr。前者通常是较佳选择,因为其copy行为比较直观。若选择auto_ptr,复制动作会使它指向null。条款14:在资源管理类中,小心copying行为。复制RSII对象必须一并复制他所管理的资源,所原创 2012-05-31 17:30:23 · 794 阅读 · 0 评论 -
<Effective C++ : 构造/析构/赋值运算> 笔记
条款5:编译器可以暗自为class创建default构造函数、copy构造函数、copy assignment操作符,以及析构函数。不过,仅仅是需要的时候,编译器才自动生成。如遇到下面代码时NameClass A; //defalut构造函数、析构函数NameClass B(A); //copy构造函数编译器才生成对应构造函数和析构函数。原创 2012-05-31 17:31:09 · 937 阅读 · 0 评论 -
C语言中的字符串分割函数
char *strtok(char *s, const char *delim);分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。从s开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。#include #include int main(){ char str[100] = "optr=555&abcd=666 rrr";原创 2012-06-01 18:36:55 · 2824 阅读 · 0 评论 -
算法题<度度熊就是要刷排名第一>
程序:/** * 度度熊就是要刷排名第一*/#include #include #include #include #include using namespace std;// 存放最大的两个int first=1, second=0;inline void compute(int &first, int &second, int &tmp){ if(原创 2012-06-03 20:48:34 · 2191 阅读 · 0 评论 -
算法题<度度熊就是要第一个出场>
题目来源:http://baidu.openjudge.org/round1a/A/题目图片:http://hiphotos.baidu.com/hustspy222/pic/item/8cf8441a95cad1c863b010807f3e6709c83d514e.jpg程序:/**度度熊就是要第一个出场 * 程序未检测输入数据的合法性 */#include原创 2012-06-03 10:42:13 · 1510 阅读 · 0 评论 -
重建二叉树
根据中序遍历和前序遍历重建二叉树,同时验证是否合法。#include #include using namespace std;#define TREELEN 6struct Node{ Node* pLeft; Node* pRight; char value;};Node* rebuild(char *preOrder, char *inOrder, int原创 2012-12-31 10:00:47 · 888 阅读 · 0 评论 -
Linux Socket UDP对等通信
/*socket udo示例程序* 由于UDP是一种对等通信,是不区分服务器端和客户端的*/#include #include #include #include #include #include #include #include #include #include #include #include #define SERVER_PORT 5555int原创 2012-03-31 09:47:58 · 2698 阅读 · 0 评论 -
Linux Socket TCP通信
1. Server端/*socket tcp服务器端*/#include #include #include #include #include #include #include #include #include #include #include #include #define SERVER_PORT 5555int main(){ int ser原创 2012-03-31 09:49:27 · 5293 阅读 · 0 评论 -
QT:信号与槽机制
1.信号与槽可以自动关联 只要按一下的规则命名槽函数 void on__();例如:on_inputSpinBox1_valueChanged(int value).原创 2009-10-06 16:54:00 · 691 阅读 · 0 评论 -
采用binary形式对数据结构进行读写
//采用binary形式对结构数据进行读写 #include #include using namespace std;//定义数据结构struct person{ char name[20]; int age; float score;}ss; //定义用于显示数据的函数void show(struct person s){原创 2009-10-05 15:52:00 · 859 阅读 · 0 评论 -
C++模板编译模型:包含编译模型
在包含编译模型中,编译器必须看到用到的所有模板的定义。一般而言,可以通过在声明模板函数或类模板的头文件中添加一条#include指示使定义可用,该#include引入了包含相关定义的源文件。1.header file tt.h#ifndef TT_H#define TT_Htemplate int compare(const T&, const T&);//get原创 2009-10-08 15:27:00 · 1274 阅读 · 0 评论 -
C++输入输出流格式控制
1.使用控制符控制输出格式 控制符 作用 dec 设置整数的基数为10 hex 设置整数的基数为16 oct 设置整数的基数为8 setbase(n) 设置整数的基数为原创 2010-03-07 22:47:00 · 2242 阅读 · 0 评论 -
内存对齐
<br /><br /> <br />一、内存对齐的原因<br />大部分的参考资料都是如是说的:<br />1、平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。<br />2、性能原因:数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;而对齐的内存访问仅需要一次访问。<br />二、对齐规则<br />每个特定平台上的编译器都有自己的默认“对齐系数”(也叫对转载 2010-11-25 19:05:00 · 634 阅读 · 0 评论 -
C语言文件操作-带命令行参数
<br />采用命令行方式复制任意多个文件内容到一个文件中,如下所示:<br />命令行形式:mycopy 1.txt 2.txt 3.txt 4.txt ...<br />功能:复制2.txt 3.txt 4.txt …的内容到1.txt中<br /> <br />#include <stdio.h>#include <string.h>#include <stdlib.h>#define BUFSIZE 1000int main(int argc, char *argv[]){原创 2011-03-11 15:11:00 · 3301 阅读 · 0 评论 -
编程实现两个正整数的除法,当然不能用除法操作符
<br />/*编程实现两个正整数的除法,当然不能用除法操作符。*/ #include <stdio.h>int div_int(const int x, const int y){ int left_num, result; int multi; left_num = x; result = 0; multi = 0; while(left_num>=y) { multi = 1;原创 2011-04-01 16:39:00 · 4019 阅读 · 0 评论 -
RS纠错编码和解码
//rs code//m=8#include #include #include #define mm 8 /* RS code over GF(2**4) - change to suit */#define nn 255原创 2011-07-25 19:12:02 · 14673 阅读 · 13 评论 -
大型整数运算:加法, 减法, 乘法
FROM:http://blog.csdn.net/hairetz/article/details/6310477用int数模模拟整数的每一个位,大于10的要进位,负数要借位。#include #include #define MAX_DIGIT 5转载 2011-09-03 16:46:00 · 896 阅读 · 0 评论 -
DNA序列分类:模糊聚类分析
#include #include #include #define DNA_A 'a'#define DNA_T 't'#define DNA_C 'c'#define DNA_G 'g'int main(){ int length[20], num[20原创 2011-08-12 20:43:17 · 5263 阅读 · 1 评论 -
DNA序列分类:Fisher判别法
#include #include #include #define DNA_A 'a'#define DNA_T 't'#define DNA_C 'c'#define DNA_G 'g'#define DNA_AN 0#define DNA_TN 1#d原创 2011-08-15 16:19:39 · 3234 阅读 · 0 评论 -
C++:文本文件的读取和输入
#include #include #include using namespace std;int main(){ int i, j; int a[10][5], b[10][5]; cout<<"a:"<<endl; for(i=0; i<10; i++原创 2011-08-15 21:19:24 · 2526 阅读 · 5 评论 -
C++ Primer 第15章例子-文本查询程序
1. Main.cpp#include "TextQuery.h"#include #include "QueryAll.h"using namespace std;void print_result(const set& locs, const string& sought, const TextQuery& file){ typedef set line_nums; li原创 2012-02-26 21:57:41 · 3719 阅读 · 3 评论 -
Android NDK: 子线程中C调用Java
在底层c++生成的子线程中调用Java,需要JniEnv。而这个JniEnv的生成,需要用AttachCurrentThread方法。1. 获取JVM,以及静态方法实例static JavaVM* g_JavaVM = NULL;static jobject gInterfaceObject;void initClassHelper(JNIEnv *e原创 2013-05-11 21:10:37 · 4013 阅读 · 0 评论