C/C++编程
文章平均质量分 80
shudaxia123
这个作者很懒,什么都没留下…
展开
-
C++动态库静态库和Release、Debug版本的属性设置
工程属性页->配置属性->C/C++->代码生成中的运行库有四个,其对应的方式分别为:多线程(/MT) 静态库 release版本多线程调试(/MTd) 静态库 debug版本多线程DLL(/MD) 共享dll release版本多线程调试DLL(/MDd) 共享原创 2014-03-25 19:15:02 · 3357 阅读 · 0 评论 -
C++网络编程
在基于Socket的C++网络编程中,我们常常需要保证服务器和客户端之间能够连续发送数据,由于TCP协议的三次握手机制,客户端每发送一次数据都需要重新建立通信socket用于传输,因此效率比较低,若对数据的完整性要求不是很高,如局域网聊天程序,可以使用UDP协议建立连接,即将流式套接字SOCK_STREAM改为数据报式套接字SOCK_DGRAM。以下给出了客户端与服务器端通信的代码,里面有基于原创 2016-03-21 09:53:25 · 563 阅读 · 0 评论 -
C/C++文件操作效率比较——FILE/fstream
利用GetTickTount函数进行效率测试,对比C/C++在读写文本文件和二进制文件时耗时大小,程序执行时间获取方式参见我另一篇C/C++获取程序执行时间的五种方式比较。电脑配置如下:(CPU四核八线程)代码如下:#include #include #include #include #include using namespace std;voi原创 2016-01-11 18:13:02 · 21182 阅读 · 5 评论 -
C/C++获取程序执行时间的五个方法对比
五种获取C/C++程序执行时间的方法对比如下:核心函数 头文件 函数库 精度 准确度QueryPerformanceCounter windows.h API us 非常准确GetTickTount原创 2016-01-10 22:48:10 · 10782 阅读 · 0 评论 -
C/C++文件操作2——fstream类
C++对文件的操作是通过stream的子类fstream(文件流)来实现的,须加入fstream头文件。1、打开文件 fstream file; file.open("a.txt", mode, access);mode是打开文件的方式,有如下几种:ios::app: 以追加的方式打开文件 ios::ate: 文件打开后定位到文件尾,ios:app就包含有原创 2016-01-10 10:52:13 · 700 阅读 · 0 评论 -
C/C++文件操作1——FILE结构体
1、定义FILE指针并打开文件FILE *fp;if((fp = fopen("a.txt", mode)) == NULL){ printf("文件打开失败"); return;}这里面,mode有以下几种方式:文件使用方式 意义 "rt" 只读打开一个文本文件,只允许读数据原创 2015-06-03 22:23:57 · 1234 阅读 · 0 评论 -
C/C++常用字符类型char、CSting、string转化
char是C/C++的基本数据类型,CString是使用MFC时的字符数据类型,string是使用C++的STL时常用数据类型。1、CString to char*CString str_cs("haha");const char* p = str_cs.GetBuffer();若需要对字符串进行后续的处理,则应该使用new或者malloc对p指针进行动态内存申请,原创 2015-08-20 15:04:22 · 795 阅读 · 0 评论 -
C++多线程编程入门3
利用CreateThread创建线程1、线程函数返回(最好使用该方法)。 2、通过调用ExitThread函数,线程将自行撤消(最好不使用该方法)。 3、同一个进程或另一个进程中的线程调用TerminateThread函数(应避免使用该方法)。 4、ExitProcess和TerminateProcess函数也可以用来终止线程的运行(应避免使用该方法)。原创 2015-08-21 18:51:19 · 428 阅读 · 0 评论 -
动态链接库dll和lib文件的生成
vs2010封装dll和lib方法:1、新建空工程2、设置属性->常规->配置类型->动态库dll(当然也可直接新建dll工程)3、写入代码,宏定义、类和函数的声明在.h文件中写,定义部分在cpp文件中写:#pragma once#ifdef DLL_IMPLEMENT#define DLL_API __declspec(dllexport)#else#define DL原创 2015-08-20 15:02:30 · 629 阅读 · 0 评论 -
C++多线程编程入门1
创建多线程的方式在C++中创建线程的四种方式:Windows底层API函数CreatThread、C/C++函数_beginthread / _beginthreadex、MFC库函数AfxBeginThread、Linux下的C/C++函数pthread_create和C++11标准中thread类。后两种本人用的不多暂不介绍,下面详细介绍前三种。CreatThread函数原型就不贴了,原创 2015-08-20 16:27:16 · 651 阅读 · 0 评论 -
使用vector容器存储动态申请内存变量的注意事项
初次接触vector的同学可能会因为方便而放弃使用new/delete、malloc/free等动态内存申请方式,当需要用到一个不确定空间大小的变量时,可以直接定义vector vecINum;vector> vecCName;vector vecMC;然后通过push_back/pop_back等操作动态增加数据。然而使用过程中如果涉及到动态内存申请,就需要注意以下的情况:#原创 2015-08-17 13:39:46 · 2508 阅读 · 0 评论 -
C语言函数sscanf()的用法
C语言函数sscanf()的用法sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与sc转载 2015-06-03 22:40:52 · 428 阅读 · 0 评论 -
C/C++编程技巧总结
用int Stride = (width + 3) & ~3;原创 2014-07-15 16:09:06 · 785 阅读 · 0 评论 -
C++多线程编程入门2
在mfc中创建和结束线程上一篇讲到在mfc中,我们创建线程用AfxBeginThread函数比较合适。接下来利用mfc对话框程序来说明线程的创建和结束过程。新建的对话框类名为CMFCMultiThreadDlg,首先在界面上画三个按钮,分别是启动、暂停和关闭线程。再画一个编辑框控件作为线程函数的输出显示,代码如下:public: CEdit m_edtOutput;//编辑原创 2015-08-20 16:35:40 · 651 阅读 · 0 评论