C++编程
文章平均质量分 80
潜行怪
这个作者很懒,什么都没留下…
展开
-
cout输出技巧
一些小的输出格式的技巧1:cout要输出某个小数的小数点后几位,可以用上面这个语句。其中那个2就是说输出s的小数点后两位。这个函数在iomanip.h中有定义。2:cout要在输出的几个数据中间有空格。n说的是s占几格。待续..............原创 2007-03-20 17:38:00 · 554 阅读 · 0 评论 -
利用freopen函数重定向输入输出,辅助程序调试
在做google code jam的时候,它的输入数据是以.in的形式的文本。然后把输出写入一个文本,把这个结果文本提交。跟ACM还不一样。所以需要个对文本的读写函数 当我们求解acm题目时,通常在设计好算法和程序后,要在调试环境(例如VC等)中运行程序,输入测试数据,当能得到正确运行结果后,才将程序提交到oj中。但由于调试往往不能一次成功,每次运行时,都要重新输入一遍测试数据,对于有转载 2013-03-13 20:41:20 · 789 阅读 · 0 评论 -
int 转 char[], 已经连续自动命名文件
char addr[50] = "C:\\SampleDesktop\\"; int bit=0,number,temp; temp = count; while(temp != 0) { temp = temp/10; bit++; } addr[bit+17] = '.'; addr[bit+18] = 'b'; addr[bit+19] = 'm';原创 2013-01-09 15:37:47 · 525 阅读 · 0 评论 -
用DDK从Mirosoft Mirror Driver截取桌面
http://download.csdn.net/detail/tw7613781/4977842http://download.csdn.net/detail/tw7613781/4977878原创 2013-01-09 15:54:17 · 1036 阅读 · 2 评论 -
C++ 中函数后面跟const是什么意思
问题:c++:void display( ) const 中的const是什么意思?简答:意思是除了表明了mutable的成员变量以外该类的其他的成员变量在这个函数内一律不能修改。详细:加const表明,该函数只能是只读的,不能修改私有变量的值。加强安全性。给隐含的this指针加const,表示这个this指向的东西是const的,也就是说这个函数中无法改动数据成员了。转载 2013-04-22 10:06:19 · 888 阅读 · 0 评论 -
在循环里面cin>>a输入不合法数据导致死循环
#include main() { int i; while(i!=-1) { cout<<"i=" cin>>i; /*请输入不是一个字符如’a’试试*/ cout<<endl; }} /*一个输入不合法变量陷入死循环的例子*/ 如上一个程序,如果你输入的不合法,那就将陷入死循环。解决的办法有个一,原创 2013-04-24 12:36:10 · 567 阅读 · 0 评论 -
使用GDB來進行除錯
转自: http://www.cis.nctu.edu.tw/~is93007/acd.htm使用GDB來進行除錯9323007曾聖耀一.什麼是gdbgdb是FSF下的一個子計畫,目的是提供一個除錯器的實作。只要使用GNU計畫出產的編譯器,就可以用它來進行除錯。它是一個文字介面的除錯器,然而也有人寫出GUI的介面。 在這裡將會介紹基本的除錯使用。如果沒有工作站的使用經驗,我建議直接转载 2013-04-28 23:46:27 · 608 阅读 · 0 评论 -
Winsock网络编程快速入门
转自: http://blog.csdn.net/zhao_yin/article/details/6982382一、基本知识 1、Winsock,一种标准API,一种网络编程接口,用于两个或多个应用程序(或进程)之间通过网络进行数据通信。具有两个版本:Winsock 1:Windows CE平台支持。头文件:WinSock.h库转载 2013-06-10 19:19:11 · 442 阅读 · 0 评论 -
VS2010中配置CUDA5.0
转自: http://blog.csdn.net/diyoosjtu/article/details/84542531、安装之前必须确认自己电脑的GPU支持CUDA。在设备管理器中找到显示适配器(Display adapters),找到自己电脑的显卡型号,如果包含在http://www.nvidia.com/object/cuda_gpus.html的列表中,说明支持CUDA。转载 2013-05-13 19:56:08 · 641 阅读 · 1 评论 -
更改gvim设置
转自: http://yuqix.blog.51cto.com/979066/386833gvim 高亮关键字 开关行号和自动缩进,更改字体,更改行号颜色和背景颜色在安装目录下有两个文件夹vim72和vimfiles,还有一个文件叫做“_vimrc”要更改的就在这个“_vimrc”,把我自己的命令写在文件末尾就行啦注意在win7下对“_vimrc”的操作权限,有可能转载 2013-04-29 00:24:27 · 591 阅读 · 0 评论 -
使用MinGW来编译程序 (代替VC++)
1. MinGW 是什么? MinGW 提供了一套简单方便的Windows下的基于GCC 程序开发环境。MinGW 收集了一系列免费的Windows 使用的头文件和库文件;同时整合了GNU( http://www.gnu.org/ )的工具集,特别是GNU 程序开发工具,如经典gcc, g++, make等。MinGW是完全免费的自由软件,它在Windows平台上模拟了L原创 2013-04-28 21:34:35 · 1410 阅读 · 0 评论 -
C++类模板详解
有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同,如下面语句声明了一个类:class Compare_int{ public : Compare(int a,int b) { x=a; y=b; } int max( ) { return (x>y)?x:y;}int min( )转载 2013-04-24 09:46:35 · 415 阅读 · 0 评论 -
C/C++中枚举类型(enum)
转自: http://www.fzs8.net/C_C++/2007-03-28/2425.html如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。 举个例子来说明一吧,为了让大家更明白一点,比如一个铅笔盒中有一支笔,但在没有打开之前你并转载 2013-04-25 12:36:53 · 444 阅读 · 0 评论 -
HWND and HDC 以及 DC 释放问题
HWND 是窗体句柄 HDC 是设备场景句柄HWND 与窗口管理有关HDC 与绘图API (GDI函数) 有关HWND 是WINDOWS 给 窗口发送消息(事件)用的HDC 是窗口绘制在屏幕上用的有了HWND, 可以使用API 的GetDC() 函数得到与其相关的HDC。HDC = GetDC (hWnd);原创 2012-01-10 16:51:32 · 3083 阅读 · 0 评论 -
从内存读取图片信息,显示出来
思路是首先生成HBITMAP对象,再显示。在生成HBITMAP对象的时候,主要用到了这个函数CreateDIBitmap functionApplies to: desktop apps onlyThe CreateDIBitmap function creates a compatible bitmap (DDB Device Dependent Bitmap)原创 2012-05-15 14:34:05 · 1218 阅读 · 0 评论 -
Socket SDK (API) 编程
利用最基本的Socket API 编程发送端:#include #include #include #pragma comment( lib, "Ws2_32.lib" ) //要记得加这句话,不然编译错误,找不到库函数void main(){ WSADATA wsaData; int iResult = WSAStartup( MAKEWORD(2,2原创 2011-11-30 04:25:42 · 1984 阅读 · 0 评论 -
利用GDI+ 从内存读取jpeg,画到窗口。
MFC使用GDI+编程设置VC2005“项目/*属性”菜单项,打开项目的属性页窗口,先选“所有配置”,再选“配置属性/链接器/输入”项,在右边上部的“附加依赖项”栏的右边,键入GdiPlus.lib 后按“应用”钮,最后按“确定”钮关闭对话框。在需要用到GDI+的文件头加上下面两句#include using namespace Gdiplus;在应用程序类应用原创 2011-11-30 04:39:43 · 1422 阅读 · 1 评论 -
TCP Socket文件传输的粘包问题及解决
基于TCP网络传输的应用程序有时会出现粘包现象(即发送方发送的若干包数据到接收方接收时粘成一包)TCP粘包是指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。 出现粘包现象的原因是多方面的,它既可能由发送方造成,也可能由接收方造成。发送方引起的粘包是由TCP协议本身造成的,TCP为提高传输效率,发送方往往要收集到足够多的数据后才发原创 2011-11-30 04:01:20 · 3206 阅读 · 2 评论 -
C 文件从读取二进制流,存到动态生成的内存空间
/* fread example: read a complete file */#include #include int main () { FILE * pFile; long lSize; char * buffer; size_t result; pFile = fopen ( "myfile.bin" , "rb" ); if (pFile==NULL原创 2011-11-21 20:09:00 · 636 阅读 · 0 评论 -
C语言中用scanf输入双精度浮点数
%f是但进度浮点数的格式双精度浮点数应用%lf,改一下就行了因为double是8个字节的,float是4个字节的,%f 的格式就是4个字节的,而 %lf 就是8个字节的#include #include int main( void ){ double x; scanf("%lf",&x); //输入double型 float x; scanf("%f", &x) r原创 2011-11-19 16:33:45 · 7352 阅读 · 0 评论 -
thin clinet app test result (draft 1)
QoE 用slow motion来测。原创 2011-10-30 09:03:11 · 431 阅读 · 0 评论 -
c++ 中读取写入外部txt文件
使用ofstream类写入外部txt文件使用ifstream类读取外部txt文件ifstream类从txt文件读取的时候是一行一行的读取,然后每一行写入到一个string类的变量中。ofstream类把一个string类的变量值写入到txt中去。原创 2011-09-21 14:20:07 · 2938 阅读 · 0 评论 -
c++ 中使用stringstream对象来进行类型转换
进入stringstream由于n和s的类型在编译期就确定了,所以编译器拥有足够的信息来判断需要哪些转换。库中声明的标准类就利用了这一点,自动选择所必需的转换。而且,转换结果保存在stringstream对象的内部缓冲中。你不必担心缓冲区溢出,因为这些对象会根据需要自原创 2011-09-21 14:27:23 · 926 阅读 · 0 评论 -
Invalid Address specified to RtlValidateHeap
调试一个程序,在非break point的地方,弹出窗口,说是出现错误,看底部 out put窗口说是Invalid Address specified to RtlValidateHeap,初步认为是指针释放的错误,又走了一边程序,并没有重复释放的嫌疑,于是就边debug 边观察IDE中的call stack 发现问题出现在析构函数中的自定义的release方法,由于习惯,在定义类的时候常定义一转载 2011-12-05 23:47:45 · 2275 阅读 · 0 评论 -
VC 多线程编写
#include #include DWORD WINAPI fun1(LPVOID lpParameter);DWORD WINAPI fun2(LPVOID lpParameter);int tickets = 100;CRITICAL_SECTION g_cs;void main(){ HANDLE hThread1; HANDLE hThread2; hTh原创 2011-12-10 04:29:17 · 716 阅读 · 0 评论 -
Socket 同步 与 异步 (阻塞 与 非 阻塞)
1.所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到返回的值或消息后才往下执行其他的命令。 异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。 2.同步,就是实时处理,比如服务器一接收客户端请求转载 2012-05-09 15:30:23 · 740 阅读 · 0 评论 -
U16 转换成 Signed int
int CVNCClientDlg::U16Toint(char a, char b){ unsigned char x = a; // signed char convert to unsigned char unsigned char y = b; int output; output = x * 256 + y; return output;}U16以为着用两个byte来表原创 2012-05-08 15:25:09 · 2031 阅读 · 0 评论 -
Socket error 10053
socket error- Software caused connection abort. Error code : 10053Action.c(16): Error : socket0 - Software caused connection abort. Error code : 10053.10053这个错误,产生于socket通讯过程中,通常是这么回事:转载 2012-03-26 15:24:44 · 8606 阅读 · 1 评论 -
Windows下截屏保存到内存及其BMP
HWND hWnd = ::GetDesktopWindow();//获得屏幕的HWND. HDC hScreenDC = ::GetDC(hWnd); //获得屏幕的HDC. HDC MemDC = ::CreateCompatibleDC(hScreenDC); RECT rect; ::GetWindowRect(hWnd,&rect); SIZE原创 2012-02-14 13:08:38 · 1118 阅读 · 0 评论 -
怎样在屏幕上以十六进制样式显示内存中的一段数据
怎样在屏幕上以十六进制样式显示内存中的一段数据。下面分以下几步来介绍:1、字节转换成十六进制字符2、数据块转换成十六进制字符串3、将十六进制字符串格式化输出4、将前面三步综合,将一段数据以十六进制显示。 1、字节转换成十六进制字符定义十六进制字符的常量字符串,然后用字节的高四位和低四位分别作下标来直接访问常量表即得到十六进制的字符。(该功能用C语言库中的 lt转载 2012-01-10 14:28:15 · 3962 阅读 · 1 评论 -
VC获取系统时间、程序运行时间
1.使用CTime类CString str;//获取系统时间CTime tm;tm=CTime::GetCurrentTime();str=tm.Format("现在时间是%Y年%m月%d日 %X");MessageBox(str,NULL,MB_OK);2: 得到系统时间日期(使用GetLocalTime)SYSTEMTIME st;CString s转载 2012-01-10 05:55:55 · 309 阅读 · 0 评论 -
CString.Format 及 printf的输入格式
Format 指定输出格式,后面跟要输出的变量 目前 printf 支持以下格式: %c 单个字符 %d 十进制整数 %f 十进制浮点数 %o 八进制数 %s转载 2012-01-10 06:04:59 · 707 阅读 · 0 评论 -
在Xlib中,从XImage中取出R,G,B三分量
使用Xlib开发X Window 程序的时候,图片一般都是用XImage这种数据格式保存的。XImage的格式如下:typedef struct _XImage { int width, height; /* size of image */ int xoffset; /* number of pixels offset in X direction */ int原创 2013-08-11 15:29:16 · 1941 阅读 · 1 评论