Private: 私有的:String to long

string类型转为long类型. 先把string转为char,用c_str() 再从char转为long,用atol() 例子: String sBigzhu = “999″; Long lBigzhu = atol(sBigzhu.c_str());

Posted by bigzhu Jan 04, 2008 01:13:00 AM


Private: 私有的:extern的用法

终于明白c 区分声明和定义是为了让同一个变量,让多个文件来访问. 声明只是为了告诉编译器:我要在这里使用这个变量,但是他的定义不在这里,你到include的文件里面去找吧. //test2.cppint x = 100;int y = 200; 然后在另外一个文件里面,使用这两个变量: // test.cpp// extern 範例#include #include “test2.cpp” // 定义 x 和 yint a = 10;extern int x; // 有效範圍; 整個程式int main(int argc, char* argv[]){extern int y; // 有效範圍: 這個函數內std::cout << a … 繼續閱讀

Posted by bigzhu Dec 10, 2007 06:05:00 PM


Private: 私有的:gdb 一些常用操作

l(list)显示代码 b(break)设置断点:b 156在156行设置断点 p(print)打印变量值:p lValue打印变量lValue的值 r(run) 运行,直到断点处停止 n(next)执行下一步

Posted by bigzhu Dec 04, 2007 02:59:00 PM


Private: 私有的:TUXEDO 8.1 集成的Apache Xerces C Parser

粗略步骤: 根据XML缓冲区创建MemBufferInputSource;MemBufInputSource* memBufIS = new MemBufInputSource( (const XMLByte*)xmlbuf, strlen(xmlbuf), bufId, false); 创建SAX Parser或DOM Parser;DOMParser *parser = new DOMParser; 调用Xerces C Parser分析XML缓冲区;parse->parse(*memBufIS); 删除Parser和MemBufferInputSource;delete parser;delete memBufIS;

Posted by bigzhu Nov 27, 2007 02:33:00 PM


Private: 私有的:strncat

char *  strncat ( char * dest, const char * src, sizet_t num ); Append substring to string.Appends num characters of src string to dest string. If the terminating null-character appears in src string before num character have been appended, … 繼續閱讀

Posted by bigzhu Nov 26, 2007 08:01:00 PM


Private: 私有的:#include

#include头文件,标准库用<>,非标准库用”" 我怎么知道哪些是标准库?

Posted by bigzhu Nov 22, 2007 07:41:00 PM


Private: 私有的:定义和声明

定义:为变量分配存储空间就是定义;一个程序中,变量只有一次定义 声明:仅仅是表明变量的类型和名字.定义也表明了类型和名字,而且还进一步分配了空间,这就进化到了”定义”.(好绕) 使用 extern 表示只定义,不声明:extern int bigzhu;不过如果初始化了,即使写了extern也还是会分配空间,还是算声明:extern int bigzhu = 5; 现在还不理解C 明确区分定义和声明有什么用.

Posted by bigzhu Nov 22, 2007 07:37:00 PM


Private: 私有的:using namespace

c 中的名字空间声明有三种风格: 最常见的懒汉省事法,使用标准库,则:using namespace std; 涵括了全部的标准库 using std::cin; 单个声明命名成员,每用一个都要声明一次,using std::cout;using std::endl;麻烦是麻烦了一些,但是比较清晰,而且是最安全的机制,不容易重名;程序里面用到哪些东西都知道,个人比较欣赏这种方式 直接在程序里面指定:std::cout<<”bigzhu”<

Posted by bigzhu Nov 22, 2007 06:31:00 PM


Private: 私有的:用gdb调试tuxedo程序

编译程序的时候,带上-g参数 启动tuxedo服务的时候,带上参数-d1,比如:tmboot -d1 -s RT_QUERY并且记下进程号 用进程号 绑定执行文件和内存中的程序:gdb RT_QUERY 888902 指定源代码路径: dir /acct/bigzhu/server …….明天继续

Posted by bigzhu Nov 20, 2007 02:08:00 AM


Private: 私有的:getopt

getopt(分析命令行参数) 表头文件#include定义函数int getopt(int argc,char * const argv[ ],const char * optstring);函数说明getopt()用来分析命令行参数,每调用一次,取下一个argv[ ]参数argc和 argv是由main()传递的参数个数和内容参数optstring是 一个匹配字符串,多个匹配字符用:连接 此函数会返回某个optstring匹配字符全域变量optarg 则被置为剔除了匹配字符的参数 如果getopt()找不到匹配的字符则会印出错信息,并将全域变量optopt设为”?”字符,如果不希望getopt()印出错信息,则只要将全域变量opterr设为0即可 返回值如果找到符合的参数则返回此匹配字符,如果对应参数未找到匹配的字符则返回”?”字符,分析结束则返回-1。范例 @language c#include#includeint main(int argc,char **argv){int ch;opterr = 0;while((ch = getopt(argc,argv,":a:b:cde"))!= -1)switch(ch){case 'a':printf("ch = %c optarg=%s \n",ch,optarg);break;case 'b':printf("ch = %c optarg=%s \n",ch,optarg);break;default:printf("ch = … 繼續閱讀

Posted by bigzhu Aug 10, 2007 03:18:00 PM