页首Html代码

返回顶部

随笔分类 -  C/C++

unix编程 linux编程 c语言编程 C++ c/c++经常放在一起。
摘要:废话不多说,直接贴代码: 运行结果: 本来想用C++socket来获得的,不过太麻烦,还不如直接通过 管道,来调用 system 系统回调. 可以做成配置,把 cmd 放到配置中,如果发现不起作用了,换一个其他的获取ip的第三方ip地址,并用 shell来筛选出ip地址,这样C++也不需要做处理,拿 阅读全文
posted @ 2017-11-02 15:54 ayanmw 阅读(2696) 评论(0) 推荐(1) 编辑
摘要:网上搜索C、C++调用lua函数,有一大堆复制粘贴的。 但是搜索《C调用lua的table里面的函数》 怎么就没几个呢? 经过探索,发现其实逻辑是这样的: 1.根据name获取table ;并判断是否为table 2.根据 name2 获取table的成员变量或方法,并判断栈顶的是否为函数 3.将函 阅读全文
posted @ 2017-04-08 21:49 ayanmw 阅读(2577) 评论(0) 推荐(0) 编辑
摘要:本来我想写这样的代码:class MatchManager{public: MatchManager() { } class OnTimerRunFuncHelper{ public: OnTimerRunFuncHelper(const int setT... 阅读全文
posted @ 2015-08-04 14:59 ayanmw 阅读(6711) 评论(1) 推荐(1) 编辑
摘要:加载DLL失败,因为 dll 中有一个全局类变量,由于在构造函数 没有初始化变量,导致 初始化 失败 异常。C++ 变量没有初始值,全部都要 手动赋值 为 0 的这个特性 还真是烦人呢。。。 阅读全文
posted @ 2015-07-17 19:43 ayanmw 阅读(743) 评论(0) 推荐(0) 编辑
摘要:vector first;//Size()==2 first.push_back(1); first.push_back(2); //first.insert(2); vectorsecond;//Size()==3 + assign?? second.push... 阅读全文
posted @ 2015-07-15 17:46 ayanmw 阅读(2656) 评论(0) 推荐(0) 编辑
摘要:一般我用C写unix时间戳是这样子的#include#includevoid printfDateTimeStr(struct tm *stm){ char weekday[][4]={"天","一","二","三","四","五","六"}; printf("timestr=%04d-... 阅读全文
posted @ 2015-04-23 19:22 ayanmw 阅读(18571) 评论(0) 推荐(0) 编辑
摘要:虚函数 ,接口,到底有什么用呢?以前我都是在C++ 里面写C,只用到 简单的C++面对对象知识#includeclass IServerLogic{ virtual ~IServerLogic(){}public: virtual bool OnStart()=0; virtual bool ... 阅读全文
posted @ 2015-02-02 19:30 ayanmw 阅读(2495) 评论(0) 推荐(0) 编辑
摘要:#include#includeusing namespace std;struct A{ const int value_const() const{return 1;} const int value(){return 1;}};int main(){ A* const a1=... 阅读全文
posted @ 2014-12-17 14:18 ayanmw 阅读(340) 评论(0) 推荐(0) 编辑
摘要:cJSON官网是:http://sourceforge.net/projects/cjson/?source=recommended最新版本是2013年的,与2009年的变化不是很大。看了代码,觉得挺好,只是是C语言的,不够好。就改良了一下,内存自己管理。使用std::stringhttp://fi... 阅读全文
posted @ 2014-06-03 00:14 ayanmw 阅读(19357) 评论(2) 推荐(0) 编辑
摘要:#include #include #include using namespace std;typedef unsigned char BYTE;typedef unsigned int UINT32;typedef unsigned short UINT16;struct Datastru... 阅读全文
posted @ 2014-04-21 15:12 ayanmw 阅读(2606) 评论(2) 推荐(0) 编辑
摘要:废话不多说,直接看代码:#includeint main(){ int i=5; for(int z=i,zmax=i+10;z<zmax;z++){ printf("i=%d z=%d\n",i,z);i++; } /* 无限循环了.... fo... 阅读全文
posted @ 2014-04-15 14:10 ayanmw 阅读(1047) 评论(0) 推荐(0) 编辑
摘要:需求:数据库取出的字段类似于 "1,3,4"然后用数字处理后,,比如 "1,2,3" 再存回去#include#includeclass MyStr{public: //根据 "1,2,3" 获得数字数组 static int *split(char * str,const char *split,const int count){ if(strlen(str)==0 || strlen(split)==0) return NULL; if(count <=1) return NULL; int * ints=new ... 阅读全文
posted @ 2013-12-20 20:13 ayanmw 阅读(7306) 评论(2) 推荐(0) 编辑
摘要:头段时间我的代码,有一个 unsigned char,我需要从sscanf 中读取字符串为这个值。但是一般char 是用%c的,我是要值得。所以我使用了%d %u来读,结果报警告:unsigned char a;sscanf("15","%u",&a);warning: format ‘%u’ expects type ‘unsigned int*’, but argument 3 has type ‘unsigned char*’警告挺烦人的,查了下,才发现自己没有注意过的细节:I'm trying to use this code t 阅读全文
posted @ 2013-12-16 18:36 ayanmw 阅读(13942) 评论(0) 推荐(1) 编辑
摘要:转自:http://www.cppblog.com/xvsdf100/archive/2013/12/10/204689.html只要接触过c/c++网路编程人都可能会知道select io 模式,网络书籍都说 fd_set {int num; SOCKET arr[64]} 有所限制,因为数组的长度只有64,那么超过64你就不能放,要么你就是用多线程分别实用select.。一些书籍通过改定义宏 使数组的长度变长,但也不实用,不能动态的变化,我总不能定一个非常的长的长度,毕竟是在栈上。 我就在想那么select完全只能在客户端使用,而且套接字还不能超过64。那这不就是一个软肋吗??一直对这个有 阅读全文
posted @ 2013-12-10 14:34 ayanmw 阅读(9471) 评论(1) 推荐(0) 编辑
摘要:看到了这个题目,就突然要写了,完全徒手写的, itoa_m 数字转换成字符串 是拷贝过来的,也是我积累的源码。这个大整数 主要思想就是按照我们小学学习的 乘法 笔算方法,先单个 乘积,再相加,具体不说了,你应该明白的。这个主要难点就是 字符串转数字 和数字转字符串 以及字符转相加。由于我是用了std::string 所以简单许多。如果改成C语言版本的,还要做许多工作。程序包括了我临时写的 两个大整数相加 的函数。可以通过 开始 运行 (Win+R) ,输入 calc 打开计算机 进行对比。不知道 有没有 Bug!这么一个小程序,好像 费了我一个多小时,关键 就是类库的积累,有类库会很方便的。如 阅读全文
posted @ 2012-12-28 17:49 ayanmw 阅读(1102) 评论(0) 推荐(0) 编辑
摘要:写的一个程序,要从二进制文件中读取,但是我读取到11396字节的时候 fread返回0,其feof(fp)==16百度百科看到: feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为非零值,否则为0。 EOF是文本文件结束的标志。在文本文件中,数据是以字符的ASCⅡ代码值的形式存放,普通字符的ASCⅡ代码的范围是32到127(十进制),EOF的16进制代码为0x1A(十进制为26),因此可以用EOF作为文件结束标志。 当把数据以二进制形式存放到文件中时,就会有-1值的出现,因此不能采用EOF作为二进制文件的结束标志。为解决这一个问题,ASCI C提供一个feof函数... 阅读全文
posted @ 2012-09-12 16:36 ayanmw 阅读(6554) 评论(0) 推荐(0) 编辑
摘要:Windows C++ 获取当前文件夹下有几个文件百度下 居然没有。linux下通过:struct dirent **namelist;int total=scandir(dir,&namelist,0,alphasort);for(i=0;i<total;i++){ free(namelist[i]);}free(namelist);//scandir后需要释放空间的!!!!!!!就可以搞定,在windows下没有dirent.h 头文件和实现。难道 这个 也算是 操作系统 相关的?不同操作系统 这么简单一个功能,还要各自实现,而不能 如同 stdio.h一样 全部 都是标准的 阅读全文
posted @ 2012-09-10 10:42 ayanmw 阅读(2191) 评论(0) 推荐(0) 编辑
摘要:前一篇文章 中,宽字符集 打印中文,还需要设置 localelocale.h 也不多,附上 头文件的源码View Code /****locale.h - definitions/declarations for localization routines** Copyright (c) Microsoft Corporation. All rights reserved.**Purpose:* This file defines the structures, values, macros, and functions* used by the local... 阅读全文
posted @ 2012-09-06 10:21 ayanmw 阅读(832) 评论(0) 推荐(0) 编辑
摘要:wchar_t 是和 char 平等的地位,即 wchar_t 并非 typedef出来的,是原生的变量。简单的说,它拥有两个字节,和short 占用空间一样。比如:字符串 "我们\n"ANSI 的十六进制为:ce d2 c3 c7 0A 006个字节,其中包括字符串最后的\0Unicode十六进制为:11 62 EC 4E 0A 00 00 008个字节,所有的字符 全部是2个字节,即使字母 数字 都是,当然换行\n 也是0A 00 了。一般 程序中字符串 前面加个 L"" 就表示 是Unicode 字符串了。windows下有一个 宏 _T(&quo 阅读全文
posted @ 2012-09-06 00:30 ayanmw 阅读(3089) 评论(0) 推荐(0) 编辑
摘要:这个 都是经验之谈:比如1.不能把 static变量放到头文件头文件 要放 只能放 extern 声明外部变量,而不能直接有全局变量,或static变量。2.头文件 #include"" 不一定必须放到 头文件中去,有时候 必须要放到 实现文件中去。比如A.h 要使用B.h 但 B.h 也要使用A.h ,A.h 包括B.h 的时候 会出问题的。因为 头文件前面是 #pragma once 避免重复调用头文件。A.h的progma once一调用,但还#include"B.h" 后面的内容还没执行,B.h中包括A.h 就失效了。那么B.h 中使用A.h中的 阅读全文
posted @ 2012-09-05 10:48 ayanmw 阅读(239) 评论(0) 推荐(0) 编辑

页脚Html代码