C/C++
文章平均质量分 73
cx_wzp
这个作者很懒,什么都没留下…
展开
-
C——文件读写
学习要求:1.理解文件的概念2.掌握文件的打开与关闭的方法3.掌握文件的读写、定位及出错检测的方法内容:C文件概述1、“文件(file)”:所谓“文件”是指一组相关数据的有序集合。数据以文件的形式存放在外部介质(一般是磁盘、磁带、光盘等)上,在操作系统中是以文件为单位对数据进行管理的。以文件名作为访问文件的标识。2、C语言把文件看作一个字节序列,即由一连串的转载 2012-10-17 20:33:30 · 1086 阅读 · 0 评论 -
C++中头文件相互包含的几点问题
一、类嵌套的疑问C++头文件重复包含实在是一个令人头痛的问题,前一段时间在做一个简单的数据结构演示程序的时候,不只一次的遇到这种问题。假设我们有两个类A和B,分别定义在各自的有文件A.h和B.h中,但是在A中要用到B,B中也要用到A,但是这样的写法当然是错误的:class B;class A{ public: B b;};cl转载 2013-10-07 12:59:53 · 964 阅读 · 0 评论 -
WinRAR命令行参数
用法: rar - - a 添加文件到压缩文件c 添加压缩文件注释cf 添加文件注释cw 写入压缩文件注释到文件d 删除压缩文件中的文件e 解压压缩文件到当前目录f转载 2013-10-10 21:27:06 · 1135 阅读 · 0 评论 -
WinInet, WinHttp, Winsock, ws2_32的区别和联系
在Windows平台进行网络程序开发, 可以使用不同的库, 但是最常用的还是微软自己开发的库。具体说来,有:(1)Winsock,工作于网络层和传输层的开发库,对于编写TCP,UDP,以及原始IP通信程序非常合适。函数原形也基本符合Unix socket标准。Windows平台上的大多数程序,如QQ,讯雷等都基于其开发。(2)ws2_32,是Winsock的升级版本,在兼容的基础上转载 2013-10-12 14:06:19 · 1552 阅读 · 0 评论 -
C/C++ 32位机器和64位机器 差异问题总结 跨平台 移植问题 语言编程需要注意的64位和32机器的区别
#include OS version:Red Hat Enterprise Linux Server release 5.3 (Tikanga) Linux 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linuxsize_t本身一个作用就是避免考虑64还是32。64位下Lo转载 2013-10-13 16:38:18 · 3005 阅读 · 1 评论 -
WaitForSingleObject和MsgWaitForMultipleObjects
WaitForSingleObject会阻塞对话框线程(Dialog thread),同时也会导致了对话框的消息循环机制被阻塞 ,而我在线程函数中会对对话框有一些UI操作(SetPos, SetWindowText),这些对对话框的UI操作实际上是通过线程向控件发送消息得到的 ( SendMessage(m_hWnd, PBM_SETPOS, nPos, 0L) ),因此WaitForSing转载 2013-10-16 14:30:11 · 4594 阅读 · 3 评论 -
wininet Ftp 相关
最近使用wininet的Ftp功能时,在目录设置时总是出错;比如已存在目录:车辆\自行车,但使用FtpFindFirstFile()时返回FALSE;原因:在之前应该先执行语句:FtpSetCurDirectory("\\")将当前目录设置成服务器根目录,这样就能成功了!//设置上传目录BOOL CMyGdalInfo_GuiDlg::SetDirector原创 2013-10-16 16:04:58 · 1258 阅读 · 0 评论 -
关于opencv+cuda+vs+tbb编译opencv的问题
首先说一下我的电脑是Win7 64位的操作系统, 安装的是32为的Vs2008,要编译的是OpenCv2.4.3和TBB4.2;编译的过程是一个有好多人都说过了其中这个人的博客说的最详细,也最全面:http://blog.csdn.net/shuxiao9058/article/details/7529684下面的内容我只是把这篇文章粘贴过来,方便大家查看(其中绿色的部分是原创 2014-03-03 18:54:49 · 8357 阅读 · 1 评论 -
setsockopt函数使用
int setsockopt (SOCKET s, int level, int optname, const char FAR * optval, int optlen );The Windows Sockets setsockopt functi转载 2014-03-11 16:51:21 · 1101 阅读 · 0 评论 -
开源GIS软件初探
开源GIS软件初探谈到GIS软件,首先让我们想到的便是GIS界的龙头大哥ESRI公司旗下的ArcGIS产品,从最初接触的version 9.2到如今的version 10.1,其发展可谓风生水起。MapInfo软件也不错,可是给人的感觉是渐渐被淘汰了似的,周围使用该软件的人并不算多。然后接触了一些的是国内的SuperMap软件,MapGIS软件等,很遗憾的是作为武大的学生,竟然没有使用转载 2014-04-02 22:35:21 · 9470 阅读 · 1 评论 -
在VS中创建自己的Lib、DLL
一、创建Lib1.新建Win2控制台程序,选择“静态库”,点击完成!2.像普通的Win32程序一样,写方法,不同的是不需要main(),如下:#include "stdafx.h"#include "my_Add_Lib.h"int addInt(int num1,int num2) //在头文件中声明{return num1 + num2;}i原创 2014-03-26 15:49:21 · 647 阅读 · 0 评论 -
网络字节顺序和主机字节顺序的转换(htons ntohs htonl ntohl)
什么是网络字节顺序和主机字节顺序呢?在进行网络编程时,需要进行转换以统一“格式” 简述:网络字节顺序NBO(Network Byte Order):按从高到低的顺序存储,在网络上使用统一的网络字节顺序,可以避免兼容性问题。主机字节顺序(HBO,Host Byte Order):不同的机器HBO不相同,与CPU设计有关 详解:转载 2014-05-14 19:45:24 · 654 阅读 · 0 评论 -
【技术】【转】字节序问题--大端法小端法
一、字节序定义字节序,顾名思义字节的顺序,再多说两句就是大于一个字节类型的数据在内存中的存放顺序(一个字节的数据当然就无需谈顺序的问题了)。其实大部分人在实际的开发中都很少会直接和字节序打交道。唯有在跨平台以及网络程序中字节序才是一个应该被考虑的问题。在所有的介绍字节序的文章中都会提到字节序分为两类:Big-Endian和Little-Endian。引用标准的Big-Endian和Li转载 2014-05-17 21:52:43 · 806 阅读 · 0 评论 -
【MFC】将CString类型的十六进制数字,转换成整形(在使用Unicode字符集的情况)
//将字符串类型的十六进制字符 转换成 unsigned int 类型的数字CString tmp(_T("234DF"));int nLength = tmp.GetLength();int nBytes = WideCharToMultiByte(CP_ACP,0,tmp,nLength,NULL,0,NULL,NULL);char* VoicePath = new c原创 2014-06-07 16:44:48 · 3123 阅读 · 0 评论 -
C++ 重载、重写、隐藏
1、重载:一个类中,方法名相同,形参表不同的方法。2、重写:子类与父类的virtual方法,方法名,形参表相同。3、考虑下面的情况,子类与父类方法名相同。 父类是virtual方法 形参表相同 ---> 构成重写 父类是virtual方法 形参表不同 ---> 隐藏父类方法 父类不是virtual方法转载 2014-10-26 16:42:52 · 748 阅读 · 0 评论 -
CUDA5.0+VS2008+VisualAssist安装
CUDA5.0+VS2008+VisualAssist安装 2013-06-20 20:42:42| 分类: 异构计算/GPU | 标签:cuda 安装 安装cuda gpu nvidia |举报|字号 订阅 CUDA5.0+VS2008+VisualAssist安装1、软硬件环境 操作系统:Windows7 台式转载 2014-11-24 21:04:54 · 1752 阅读 · 0 评论 -
lib和dll文件的区别和联系
什么是lib文件,lib和dll的关系如何 (2008-04-18 19:44:37) (1)lib是编译时需要的,dll是运行时需要的。 如果要完成源代码的编译,有lib就够了。 如果也使动态连接的程序运行起来,有dll就够了。 在开发和调试阶段,当然最好都有。 (2)一般的动态库程序有lib文件和dll文件。lib文件是必须在编译期就连接到应用程序中的,而dll文件是转载 2013-07-23 09:28:18 · 633 阅读 · 0 评论 -
MinGW 是什么
3.1:MinGW 是什么? MinGW 提供了一套简单方便的Windows下的基于GCC 程序开发环境。MinGW 收集了一系列免费的Windows 使用的头文件和库文件;同时整合了GNU (http://www.gnu.org/ )的工具集,特别是GNU 程序开发工具,如经典gcc, g++, make等。MinGW是完全免费的自由软件,它在Windows平台上模拟了转载 2013-06-24 22:19:12 · 1215 阅读 · 0 评论 -
C_语法_宏定义define和函数的作用对比
要写好C语言,漂亮的宏定义是非常重要的。宏定义可以帮助我们防止出错,提高代码的可移植性和可读性等。在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义。那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍。 我们来看一个例子,比较两个数或者表达式大小,首先我们把它写成宏定义: #define M转载 2012-10-29 22:40:36 · 1038 阅读 · 0 评论 -
TCP-UDP Socket
一、概述TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议。TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(stream socket)的一种。UDP:用户数据报协议。UDP是一种无连接协议。UDP套接口是数据报套接口(datagram socket)的一种转载 2012-10-31 22:02:06 · 528 阅读 · 0 评论 -
和线程有关的函数结构
HANDLE WINAPI CreateThread( __in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes, __in SIZE_T dwStackSize, __in LPTHREAD_START_ROUTINE lpStartAddress, __in_opt LPVOID lp转载 2012-10-23 20:15:04 · 608 阅读 · 0 评论 -
C语言Socket
socket目 录socket 1.socket() 2.bind() 3.connect() 4.listen() 5.accept() 6.send() 和recv() 7.sendto() 和recvfrom() 8.close() 和shutdown() 9.getpeername()转载 2012-10-24 18:07:39 · 565 阅读 · 0 评论 -
socket中shutdown和closesocket的区别
从函数调用上来分析(msdn):一旦完成了套接字的连接,应当将套接字关闭,并且释放其套接字句柄所占用的所有资源。真正释放一个已经打开的套接字句柄的资源直接调用closesocket即可,但要明白closesocket的调用可能会带来负面影响,具体的影响和如何调用有关,最明显的影响是数据丢失,因此一般都要在closesocket之前调用shutdown来关闭套接字。 shut转载 2012-11-02 20:30:45 · 4996 阅读 · 0 评论 -
sockaddr_in , sockaddr , in_addr区别
sockaddr_in , sockaddr , in_addr区别struct sockaddr { unsigned short sa_family; char sa_data[14]; }; 上面是通用的socket地址,具体到Interne转载 2012-11-02 21:49:06 · 860 阅读 · 0 评论 -
htons(), ntohl(), ntohs(),htons() 函数
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题。这是就可能用到htons(), ntohl(), ntohs(),htons()这4个函数。网络字节顺序与本地字节顺序之间的转换函数: htonl()--"Host to Network Long" ntohl()--"Network to H转载 2012-10-26 11:13:45 · 705 阅读 · 0 评论 -
TCP/IP协议头部结构体
TCP/IP协议头部结构体(转)网络协议结构体定义 view plaincopy to clipboardprint?// i386 is little_endian. #ifndef LITTLE_ENDIAN #define LITTLE_ENDIAN (1) //BYTE ORDER #else #err转载 2012-11-13 20:02:49 · 4143 阅读 · 1 评论 -
IP地址格式转换(htonl、ntohl;inet_addr、inet_ntoa)
1、htonl ()和ntohl( )u_long PASCAL FAR ntohl (u_long netlong);u_short PASCAL FAR ntohs (u_short netshort);ntohl( )-----网络顺序转换成主机顺序u_long PASCAL FAR htonl (u_long hostlong);u_short PA转载 2012-11-13 20:26:04 · 26484 阅读 · 0 评论 -
C语言字符输出格式化
符号属性 长度属性 基本型 所占位数 取值范围 输入符举例 输出符举例-- -- char 8 -2^7 ~ 2^7-1 %c %c、%d、%usigned -- char 8转载 2013-01-15 20:59:24 · 724 阅读 · 0 评论 -
配置安装OpenCV(VS2010+OpenCV 2.4.3 + 64位系统+Win7)
参考 http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.3.11.下载上 http://www.opencv.org.cn/index.php/Download 下载一个OpenCV的包,下载下来会是一个exe文件。双击之后是一个自解压的选择框转载 2013-03-03 22:08:17 · 7462 阅读 · 1 评论 -
MFC IP Control 控件 BYTE转char *
//BYTE 到 char *的转换CString m_addr;CStringA m_addrA;char dstIP[32];unsigned short sendPort = 80;//端口号ipAddr->GetAddress(f1,f2,f3,f4);m_addr.Format(_T("%d.%d.%d.%d"),f1,f2,f3,f4);m_addrA =原创 2013-04-01 10:32:38 · 1634 阅读 · 0 评论 -
socket 学习
Socket(套接字)◆先看定义:typedef unsigned int u_int;typedef u_int SOCKET;◆Socket相当于进行网络通信两端的插座,只要对方的Socket和自己的Socket有通信联接,双方就可以发送和接收数据了。其定义类似于文件句柄的定义。◆Socket有五种不同的类型:1、流式套接字(stream s转载 2013-05-21 16:58:10 · 681 阅读 · 0 评论 -
在VS2010开发环境中CString 和char转换
VS2010编程,与以前的版本差别不大,开发效率有所提高,但以前没注意的CString字符串的操作,让人头痛起来。因为程序要用到char操作,就需要CString的转换,这个以前不是问题的问题让人烦。虽然网上有不少这方面的介绍,但好多在VS2010下不能用,这次简要的整理一下,不贪求MSDN的转换原理,直接能用就行。 在Visual C++.NET中,默认的字符集形式是Unic转载 2013-03-23 22:34:00 · 1014 阅读 · 0 评论 -
MFC 与 CUDA 环境设置及程序运行
第一步:新建MFC工程 第二步:建一个CUDA文件夹用于管理所有和CUDA有关的文件(.cu和.cuh)第三步:建立Host.cu和Devect.cu文件CUDA文件右键->add->new Item第四步:在Devect.cu文件中添加代转载 2014-12-06 21:18:56 · 1720 阅读 · 0 评论