随笔分类 -  C与C++

摘要:我自己在写程序过程中,遇到了比较奇怪的没有初始化问题。最后发现,因为一个全局变量A写在main函数所在的cpp中,因为头文件加载先后问题,导致后边某个类B中,使用到这个A时,出现问题,本来预计会拿到A里边某些数据,但竟然什么都是0,好像A刚刚初始化一样。我不知道根本原因是什么,我只知道肯定是extern作怪。在类B中,用了extern定义A。但因为类B的头文件比main函数在CPP定义全局变量A更... 阅读全文
posted @ 2010-06-26 13:51 拂晓风起-Kenko 阅读(1756) 评论(0) 推荐(0) 编辑
摘要:记得注释里有中文等字符的时候, 记得在单行注释最后加个空格, 多行注释 */ 前加一个空格 ... 当然最好的是注释都用英文 , over ...因为某些特殊中文字符在某些字符集下会被处理成特殊的转义序列, 并且GBK字符集中尾字符还包含了C标准的转义字符 0x5C '\\ ' , 在这些情况下, 转义字符后跟 */ 或者是单行注释的换行都会出错, 特别是在非中文... 阅读全文
posted @ 2010-06-25 19:39 拂晓风起-Kenko 阅读(1018) 评论(0) 推荐(1) 编辑
摘要:CString在普通ASCII编码情况下,系统默认是跟char*差不多的方式来存储(个人觉得)。例如,声明和赋值一个CString可以这样:char* charStr = "Kenko";CString cstr = charStr;因为在ASCII编码下,CString会把后边这个指针的内存位置,作为输入流,逐个字符的读入到CString中。但在_UNICODE宏定义下,默认都变为宽字节。那么C... 阅读全文
posted @ 2010-06-24 23:13 拂晓风起-Kenko 阅读(2663) 评论(0) 推荐(0) 编辑
摘要:网上找了大半天,使用了5、6个代码,都是废的,总有这样那样的问题。都是打着断点续传的幌子,做不了实事~~~  最后还是回到了最早找到的Mydownload。先向这个匿名作者表示衷心的感谢~~~  看了这个代码,还是觉得这个代码最强大~~~~但有小bug,虽然每次下载先判断有没有中间文件存在,但就是续传错误。本来作者的意图是接着那个中间文件继续写数据,但他就是漏了fseek一句话。加上,Ok~~  ... 阅读全文
posted @ 2010-05-24 00:44 拂晓风起-Kenko 阅读(13603) 评论(64) 推荐(12) 编辑
摘要:C++使用http形式,下载文件。url中如果出现中文,需要把编码改为UTF8。因为C++本来使用GBK编码,但默认的http请求是按UTF8编码的。不事先转码,tomcat等服务器就解释不了那个url。  方法很简单,直接使用CChineseCode提供的函数……搞掂……http://files.cnblogs.com/kenkofox/C... 阅读全文
posted @ 2010-05-10 17:02 拂晓风起-Kenko 阅读(10120) 评论(0) 推荐(1) 编辑
摘要:“class”类型重定义 :  一般都是头文件重复include引起的。防止头文件重复加载:  系统那些头文件,无论怎么include都没事,因为一般都用了宏定义,防止重复。  在头文件最上方写:  #ifndef XXXXXXX (一个名字,尽量做到唯一)  #define XXXXXXX (跟上边的名字一样)  文件最后写:  #endif两个类之间互相引用:  A.H... 阅读全文
posted @ 2010-04-27 17:12 拂晓风起-Kenko 阅读(8281) 评论(0) 推荐(0) 编辑
摘要:一般都是重复定义。可以按照VS给出的信息去找相关的变量或者宏定义,还有函数。这里需要注意include,不要重复include,不要重复定义宏。但上述这些,都是很好理解的……如果大家按照上边说的检查了,还是百思不得其解,那么就看看关于类的函数定义和实现分离的问题吧。一个兄弟的文章方法类似:http://blog.csdn.net/pang040328/archive/2... 阅读全文
posted @ 2010-04-26 10:09 拂晓风起-Kenko 阅读(2589) 评论(0) 推荐(0) 编辑
摘要:代码:http://files.cnblogs.com/kenkofox/CPlusPlus%e5%a4%9a%e7%ba%bf%e7%a8%8b%e6%ba%90%e4%bb%a3%e7%a0%81.rarThread类,类似java的ThreadtertThread是使用的例子……继承Thread后,只需要重构run就可以了,方便……注意... 阅读全文
posted @ 2010-04-26 01:16 拂晓风起-Kenko 阅读(982) 评论(0) 推荐(0) 编辑
摘要:代码: http://files.cnblogs.com/kenkofox/Client-CPlusPlus.rarhttp://files.cnblogs.com/kenkofox/Server_Java.rarjava和C++使用Socket通信,其实底层Socket都是相通的,所以只需要按照各自的语法去做就是了。java服务器端使用ServerSocket的accept创建Socket,跟普... 阅读全文
posted @ 2010-04-25 00:19 拂晓风起-Kenko 阅读(26110) 评论(4) 推荐(1) 编辑
摘要:错误1: unexpected end of file while looking for precompiled header directive改正方法:工程->设置->C/C++,在分类中选中“预编译的头文件”,然后选中“自动使用预补偿页眉”或“不使用预补偿页眉”错误2:unresolved external... 阅读全文
posted @ 2010-04-24 01:18 拂晓风起-Kenko 阅读(726) 评论(0) 推荐(0) 编辑
摘要:关于wchar_t在C++标准中,wchar_t是宽字符类型,每个wchar_t类型占2个字节,16位宽。汉字的表示就要用到wchar_t 。char,我们都知道,占一个字节,8位宽。标准C++中的wprintf()函数以及iostream类库中的类和对象能提供wchar_t宽字符类型的相关操作。locale loc( "chs" );//定义“区域设置”为中文方式wcou... 阅读全文
posted @ 2010-04-23 22:16 拂晓风起-Kenko 阅读(5188) 评论(0) 推荐(0) 编辑
摘要:2009-09-18 15:371. int sprintf( char *buffer, const char *format [, argument] ... ); <stdio.h>例如:Cpp代码int ss; char temp[64]; string str; ss = 1000; sprintf(temp, "%d", ss); string s(temp); //调用s... 阅读全文
posted @ 2009-11-29 23:57 拂晓风起-Kenko 阅读(272) 评论(0) 推荐(0) 编辑
摘要:(非本人原创,在此注明,以表对原作者的敬佩http://blog.163.com/sean_1010/blog/static/11080322200952633111975/)以下是假设旧的C程序库C的头文件/*-----------c.h--------------*/#ifndef _C_H_#define _C_H_extern int add(int x, int y);#endif C的... 阅读全文
posted @ 2009-11-05 23:35 拂晓风起-Kenko 阅读(6536) 评论(0) 推荐(3) 编辑
摘要:C++调用C链接库  C++调用C语言的链接库,其实相对C调用C++简单。因为C++本来就向下兼容C吧(个人见解)。  但由于编译器的设计不同,会出现一些问题,如下:(如中间部分,有一句undefined reference to 'helloC()' ,helloC()是我在C链接库中的函数)  简单说来原因就是未经处理的C代码编译后函数名可能变为_helloC()之类的,而C++编译后函数名却... 阅读全文
posted @ 2009-11-05 23:33 拂晓风起-Kenko 阅读(1275) 评论(0) 推荐(0) 编辑
摘要:C调用C++链接库:  1.编写C++代码,编写函数的时候,需要加入对C的接口,也就是extern “c"  2.由于C不能直接用"class.function”的形式调用函数,所以C++中需要为C写一个接口函数。例如本来要调用student类的talk函数,就另外写一个cfun(),专门建一个student类,并调用talk函数。而cfun()要有extern声明  3.... 阅读全文
posted @ 2009-11-05 22:07 拂晓风起-Kenko 阅读(7161) 评论(0) 推荐(1) 编辑