自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

思想的可见性

路漫漫其修远兮 吾将上下而求索

  • 博客(19)
  • 资源 (10)
  • 问答 (1)
  • 收藏
  • 关注

原创 关于printf的几个C语言库函数

一、_vsnprintf,c语言库函数之一,属于可变参数。用于向字符串中打印数据、数据格式用户自定义。函数原型: int vsnprintf(char* str,size_t size,const char* format,va_list ap);参数说明: char* str[out] ,把生成的格式化的字符串放入此变量。                      size_t [i

2013-11-30 18:09:31 996

原创 关于以string类型的容器,容器中字符串的操作

最近总是遇到string类型的操作,今天把我掌握的方法都先记录下来。直接进主题吧!常常用到Vector  ,list ,如何遍历里面的类型呢,看过STL的朋友,都会用迭代器。如下://同一都支持迭代器操作,这里只讲一个关于string操作vector strVec;strVec.push_back("this is a test!");strVec.push_back("T

2013-11-30 14:49:22 1843

原创 STL中map容器的操作

MAP是SLT中的一个容器,是关联式容器。它提供一对一的数据处理能力,其中第一个数据称为关键字,每个关键字只能在map中出现一次,第二个数据代表关键字的值。主要针对的是处理一对一的数据,MAP内部是自建一棵红黑树(一种非严格意义上的平衡二叉树),具有数据自动排序功能,所以MAP内部所有数据是有顺序的,基本是从小到大。      MAP的默认构造函数:Map(const map& m);

2013-11-29 13:11:51 835

原创 关于利用Tcp库来实现文件传输

文件传输主要是学习文件处理的windows API函数、数据结构操作和 string操作。首先应用库来建立一个服务器和一个客户端,都是单线程。服务器说明:建立一个结构体tTransFilestruct tTransFile{ int nLen; int nIdx; char szFileName[255]; UINT32 uFileSize;

2013-11-28 21:50:01 1051

原创 直接用域名取网络地址操作

主要用到的结构体struct hostentstructhostent {     char*h_name;                 //地址正式名称    char**h_aliases;             //空字节-地址的预备名称的指针或者是域名别称。    inth_addrtype;               //地址类型,主要是AF_

2013-11-26 00:55:08 736

原创 关于htons和ntohs(网络顺序和主机顺序)

今天主要是再次熟悉一下网络顺序和主机顺序的实现方法。htons和ntohs,htonl和htonl。htonl()——"Host to Network Long"ntohl()——"Network to Host Long"htons()——"Host to Network short"ntohs()——"Network to Host short"网络字节顺序(Network

2013-11-26 00:14:49 1019

原创 数组名和取数组名地址的区别

main(){int a[5]={1,2,3,4,5};int *ptr=(int *)(&a+1);printf(“%d,%d”,*(a+1),*(ptr-1));}写出上面打印的结果。*(a+1)大家都可以知道他的结果,就是Array的第二个成员的值,那&a+1代表什么呢!int nData[2] = { 1,2 };printf("nDat

2013-11-24 21:22:10 850

转载 STL提供了三个最基本的容器:vector,list,deque

vector和built-in数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随机存取,即[]操作符,但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝,另外,当该数组后的内存空间不够时,需要重新申请一块足够大的内存并进行内存的拷贝。这些都大大影响了vector的效率。       list就是数据结构中的双向链表(根据sgi   stl源

2013-11-23 00:04:17 942

原创 p2p杂摘

P2P是英文Peer-to-Peer(对等)的简称,又被称为“点对点”。“对等”技术,是一种网络新技术,依赖网络中参与者的计算和带宽,而不是把依赖都聚集在较少的几台服务器上。P2 P还是英文Point to Point (点对点)的简称。它是下载术语,意思是在你自己下载的同时,自己的电脑还要继续做主机上传,这种下载方式,人越多速度越快但缺点是对硬盘损伤比较大(在写的同时还要读),还有对内存占用较多

2013-11-23 00:00:02 881

转载 程序员需知的10大编程格言

每个程序员都该知道的10大编程格言(Kevin Pang):编程格言1:无风不起浪 (There is no smoke without fire)编程格言2:预防为主,治疗为辅(An ounce of prevention is worth a pound of cure:)编程格言3:不要把鸡蛋都放在一个篮子(Don't put all

2013-11-22 23:54:34 1649

原创 WINSOCK I/O方法(WSAEventSelect )

主要涉及的WSAAPI函数一、信号对象创建一个初始状态为失信的匿名的需要手动重置的事件对象。WSAEVENT WSAAPI WSACreateEvent( VOID );返回值:如果函数成功,则返回值即是事件对象的句柄。如果函数失败,返回WSA_INVALID_EVENT。应用程序可通过调用WSAGetLastError()函数获取进一步的错误信息:WSANOTINIT

2013-11-22 23:43:40 922

原创 About memset应用、memcpy和strcpy比较

把最近应用比较多的关于string的操作函数做一下总结。       一、首先说一下memset,在很多类和结构体中都会用到它来做初始化,比较好用。 函数原型:void memset(void* s,char ch,size_t n) 函数解释:把s中的前n个字节用ch替换并且返回s 作用:在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快的方法。

2013-11-22 09:34:12 827

原创 简单的WINSOCK2应用程序

Tcp应用介绍        首先大家对WINSOCK应该都有一些了解吧! Winsock 的定义、系统环境,以及一些 Winsock Stack及 Winsock 应用程式都要有一定的认知。接下来就来简单讲解一下Tcp网络连接的程式设计。我是以WINSOCK2.2为基础学习的规定的应用程式界面(API),逐步来建立TCP socket主/从构架。首先讲的是同步模式,通俗点来说打电话就是同步行

2013-11-21 23:17:02 1090

转载 C/C++数组名与指针区别

指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。很幸运,我的大学老师就是其中之一。时至今日,我日复一日地进行着C/C++项目的开发,而身边还一直充满这样的程序员,他们保留着"数组名就是指针"的误解。  想必这种误解的根源在于国内某著

2013-11-21 20:44:44 672

转载 c语言中的printf实现

C中的可变参数研究 一.   何谓可变参数 int   printf(   const   char*   format,   ...);   这是使用过C语言的人所再熟悉不过的printf函数原型,它的参数中就有固定参数format和可变参数(用”…”表示).   而我们又可以用各种方式来调用printf,如:printf( "%d ",value);   printf(

2013-11-21 20:33:01 804

转载 HTTP 协议详解

原文地址相关文章:HTTP 协议之压缩  当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddle

2013-11-21 20:29:27 610

转载 c++ try_catch throw

原文地址使用throw抛出异常本人节选自《21天学通C++》一书    抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常。该语句的格式为:throw 表达式;    如果在try语句块的程序段中(包括在其中调用的函数)发现了异常,且抛弃了该异常,则这个异常就可以被try语句块后的某个catch语句所捕获并处

2013-11-21 20:25:57 647

原创 About Log

最近学习的关于文件日志的编写。里面涉及到的主要是文件操作、目录创建,还有就是重构和STL字符串string操作应用。       具体思想是单线程写入(保证安全写入)+管理,管理分管目录创建、文件建立。单线程维护数据安全,管理负责建立目录、创建文件和WriteFile。       考虑到程序中应用此Log,最少需要用到LOG_MAIN.log、LOG_DEBUG.log、LOG_ERRO

2013-11-21 20:21:02 1104

原创 About Maze Problem

前提说明:能通过为1,不能通过为0,如果通过成功把这个位置设定为9,不能通过的位置设置为2。        处理迷宫问题主要是用到栈的定义,程序运行好就是原始程序一段一段的放入栈中,迷宫问题就是把每一步都放入到栈中直到程序结束,或者运行失败。      最先分析的是每一步如何计算,如何记录,如何进行下一步计算。关于每一步问题,可以把这个问题看成是二维问题,X,Y坐标来确定,如此就出

2013-11-19 23:00:30 998

Qt exe打包工具enigmavb.exe

enigmavb打包工具,我使用的时候,尽量不要使用移动后的目录生成,生成在哪一个目录就引用那一个目录,不要使用拖动,使用增加文件夹[递增],记得删除不需要的.o文件.h文件等等不需要文件,否则打包以后会有点大

2022-05-05

Qt给图片增加水印和创建新路径存放

根据配置读取水印信息,然后添加到对应的名称的图片中

2022-05-05

番茄助手2017

番茄助手,支持2017,内有消除注册信息工具,如果不能安装成功,请运行

2018-02-22

安全栈表实现,C++11实现,使用atomic特性

安全栈表实现,C++11实现,使用atomic特性,可以多线程进行操作

2018-02-19

抓包工具fiddler

2016-04-19

debugview查看工程debug打印!

2016-04-19

dll 或者 exe 查看关联工具

2016-04-19

procexp64 进程线程查询工具

procexp64 进程线程查询工具

2016-04-19

sublime, html编译器

html编写环境!非常简单的,并且容易操作,html编译软件!

2016-02-02

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除