c++学习问题记录
shandiantianying
这个作者很懒,什么都没留下…
展开
-
获取文件长度
int main(void){ FILE* file; fopen_s(&file, "bv.rar", "ab"); fseek(file, SEEK_CUR, SEEK_END); int fsize = ftell(file); cout }原创 2013-11-30 15:22:35 · 520 阅读 · 0 评论 -
win32 自定义控件使用,必须要将自定义控件style = 0x50010000 0x50010000是三个样式的组合
// Win32Project12.cpp : 定义应用程序的入口点。//#include "stdafx.h"#include "Win32Project12.h"#define MAX_LOADSTRING 100#define IDC_OKBTN 200// 全局变量: HINSTANCE hInst; // 当前实例TCHAR szT原创 2014-01-03 09:14:39 · 2602 阅读 · 0 评论 -
得到window区域位置
1、全屏显示int full_x = GetSystemMetrics(SM_CXSCREEN);int full_y = GetSystemMetrics(SM_CYSCREEN);::SetWindowPos(hWnd,HWND_TOPMOST,0,0,full_x,full_y,0 ); 2、工作区显示 RECT rt; SystemParametersI转载 2013-12-21 16:38:55 · 502 阅读 · 0 评论 -
c++日期转换
#include #include #include using namespace std;void GetDay(int days, int &month, int&mDay, bool bLeap){int dayCount[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };if (b原创 2013-12-22 20:01:38 · 825 阅读 · 0 评论 -
c++中日期转换
#include "time.h"#include "stdio.h"int main(void){char now[64];struct tm newtime;time_t timep;errno_t err;timep = 1386691200;err = localtime_s(&newtime, &timep);strftime(now, 64, "原创 2013-12-23 15:41:06 · 697 阅读 · 0 评论 -
MFC资源文件切换
AFX_MANAGE_STATE(AfxGetStaticModuleState()); TTest *Tet = new TTest(); Tet->Create(IDD_DIALOGTEST, NULL); Tet->ShowWindow(SW_SHOW);原创 2014-01-08 15:54:31 · 717 阅读 · 0 评论 -
win32 listview,combox使用
HWND hwndList = GetDlgItem(hDlg, IDC_LIST_ALLMESSAGE);HWND hwndCombox = GetDlgItem(hDlg, IDC_COMBOSTATE);switch (message) {case WM_INITDIALOG:SendMessage(hwndList, LVM_SETEXTENDEDLISTVIEWSTYLE原创 2013-12-25 16:56:44 · 2038 阅读 · 0 评论 -
文本重影
case WM_CTLCOLORSTATIC://static窗体透明i = GetWindowLong((HWND) lParam, GWL_ID); //获取窗口控制项ID ////根据所获取的id依次更改文字颜色 switch (i){case 120:SetTextColor((HDC) wParam, RGB(255, 255,原创 2013-12-26 17:56:35 · 747 阅读 · 0 评论 -
gdi画图拉伸
// 让其平铺拉伸(默认为渐变拉伸)ImageAttributes ImgAtt;ImgAtt.SetWrapMode(WrapModeTileFlipXY);RectF rcDrawRect;rcDrawRect.X=0;rcDrawRect.Y=0;rcDrawRect.Width=100;rcDrawRect.Height=100;g.DrawImage(m_原创 2013-12-26 20:10:59 · 782 阅读 · 0 评论 -
c++播放flash
#include int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmd, int show) {MSG msg = { 0 }; void* init = GetProcAddress(LoadLibrary("atl"), "AtlAxWinInit"); _asm call init;//CreateW原创 2013-12-17 21:40:47 · 788 阅读 · 0 评论 -
_access判断文人提否存在
_access使用方法path文件或目录路径。mode读/写属性。0仅存在2只读4只读6读取和写入BOOLEAN CheckFileExists(char * fileOrDirName){ if (_access(fileOrDirName, 0) == 0) //文件或目录存在 { return true; } return false;原创 2013-12-18 13:04:56 · 517 阅读 · 0 评论 -
fopen打开文件方式
fopen打开文件方式 最近写一个文件操作类,fopen的参数着实让我搞了半天,因为以前就是固定的方式读写文件的,现在要做灵活了,所以就有些参数理解不够准确。以下是关于mode参数的定义。'r' 只读方式打开,将文件指针指向文件头,如果文件不存在,则File返回空。'r+' 读写方式打开,将文件指针指向文件头,如果文件不存在,则File返回空。 'w' 写入方式打开转载 2013-11-30 15:00:46 · 1163 阅读 · 0 评论 -
static控件透明
case WM_CTLCOLORSTATIC://static窗体透明SetBkMode((HDC) wParam, TRANSPARENT);return (BOOL) ((HBRUSH) GetStockObject(NULL_BRUSH));原创 2013-12-03 09:48:15 · 487 阅读 · 0 评论 -
WebBrowser插件使用分享
WebBrowser插件使用分享 互联网的普及使用户非常熟悉基于浏览器的操作界面,对传统GUI模式应用的界面提出了更高的要求,希望能够具有类似于网页程序的表达力、易用性。对于Windows平台的GUI应用程序,WebBrowser插件是一个很好的解决方案,使用该插件相当在程序中嵌入了一个浏览器窗口,通过该窗口中可以充分利用IE内核的强大功能。 程序嵌入WebBrowser时,逻辑上转载 2013-12-05 16:12:42 · 4623 阅读 · 0 评论 -
win32多线程非阻塞与阻塞
typedef struct CjThreadData{ LPVOID fw; LPCTSTR getUrl; HANDLE hFile;}CJTHREADDATA,*PCJTHREADDATA;HANDLE hFile;::HANDLE hThreadArray[1];::PCJTHREADDATA pCjThreadData;::DWO原创 2013-12-06 16:02:26 · 817 阅读 · 0 评论 -
消息分流器简单代码
消息分流器原理,这里不细说,可以google中查询,,以下提供短小代码实现下#include #define chHANDLE_DLGMSG(hwnd, message, fn) case (message): return (SetDlgMsgResult(hwnd, uMsg, HANDLE_##message((hwnd), (wParam), (lParam), (fn))))原创 2013-12-13 11:50:48 · 848 阅读 · 0 评论 -
修改dialog上ico hwnd ---- hinstance
SendMessage(hDlg, WM_SETICON, ICON_SMALL, (LPARAM) LoadIcon(hInst, MAKEINTRESOURCE(IDI_SMALL)));原创 2013-12-30 16:45:24 · 536 阅读 · 0 评论 -
wiin32 想找目录下文件
case WM_COMMAND:if (LOWORD(wParam) == IDOK){search = L"E:\\Form\\*.png";WIN32_FIND_DATA fdd;HANDLE AFind = FindFirstFile(search, &fdd);TCHAR * s = NULL;if (AFind != INVALID_HANDLE_VALUE)原创 2013-12-31 16:46:11 · 492 阅读 · 0 评论 -
win32 WM_DESTROY 和 WM_NCDESTROY.
WM_DESTROY与WM_NCDESTROY在窗口销毁时有两个紧密关联的 windows 消息, 就是 WM_DESTROY 和 WM_NCDESTROY.区别就是 WM_DESTROY 消息是在窗口销毁动作序列中的开始被发送的, 而 WM_NCDESTROY 消息是在结尾. 这在你的窗口拥有子窗口时是个重大区别. 如果你有一个带子窗口的父窗口, 那么消息的发送序列 (在没有怪诞原创 2013-12-31 17:49:24 · 906 阅读 · 0 评论 -
c++控件播放flash
容器-插件基础:为在一个窗口中嵌入一个Activex的话,就需要创建一个Container Window,然后创建被嵌入的Activex,然后通过上述的接口建立容器与Activex直接的联系。在ATL中使用CAxHostWindow封装 了Activex容器,并进一步使用CAxWindow类来简化控件容器的操作。Activex嵌入主要代码1.内嵌Activex的创建转载 2013-12-18 09:41:07 · 1008 阅读 · 0 评论 -
win32 linkcontrol使用
//设置值 wstring link = L"link.append(curMessage->url.c_str());link.append(L"\">");link.append(curMessage->url.c_str());link.append(L"");SetWindowText(GetDlgItem(hwnd, IDC_SYSLINK), link.c_st原创 2013-12-26 21:25:13 · 732 阅读 · 0 评论 -
HBRUSH的使用
HBRUSH hbr;第一种: hbr= CreateSolidBrush(RGB(255,0,0)); //单色的画刷第二种: hbr= (HBRUSH)GetStockObject(BLACK_BRUSH); //只能取特定颜色的画刷,如BLACK_BRUSH,GRAY_BRUSH等刷第三种: hbr= CreatePatternBrush(HBITMAP hb原创 2013-12-26 17:39:44 · 1089 阅读 · 0 评论 -
c++构造函数初始化列表
class F{public:F(int a);int m;};F::F(int a) :m(a){cout }int main(void){ F *f = new F(100);delete(f);}原创 2014-01-10 11:49:57 · 615 阅读 · 0 评论 -
tm ,time_t,SYSTEMTIME转换
time_t tmToTime_t(char * dt){tm timeinfo;sscanf_s(dt, "%d-%d-%d %d:%d:%d",&timeinfo.tm_year, &timeinfo.tm_mon, &timeinfo.tm_mday,&timeinfo.tm_hour, &timeinfo.tm_min, &timeinfo.tm_sec);ti原创 2014-02-28 09:41:48 · 2450 阅读 · 0 评论 -
两时间比较
#include #include #include using namespace std;float DiffTime(unsigned ty1, unsigned th1, unsigned ty2, unsigned th2){struct tm tm1, tm2;time_t tt1, tt2;float dt;转载 2014-02-28 14:41:15 · 735 阅读 · 0 评论 -
char name[10]数据赋值问题。
struct MyPerson{char name[10];int age;char sex[4];};MyPerson person;person.name = "张三"; //错误错误 1 error C2440: “=”: 无法从“const char [5]”转换为“char [10]”c:\users\foresee\desktop\mfc原创 2013-07-23 10:13:37 · 3368 阅读 · 0 评论 -
error C2871: “System”: 具有该名称的命名空间不存在
项目->配置属性->常规->项目默认值->公共语言运行时支持--公共言运行时支持(/clr)原创 2013-08-05 17:22:39 · 4313 阅读 · 0 评论 -
C++文件流ofstream,ifstream
前言:c++的文件流处理其实很简单,前提是你能够理解它。文件流本质是利用了一个buffer中间层。有点类似标准输出和标准输入一样。c++ IO的设计保证IO效率,同时又兼顾封装性和易用性。本文将会讲述c++文件流的用法。有错误和疏漏的地方,欢迎批评指证。需要包含的头文件: 名字空间: std也可以试用fstream提供了三个类,用来实现c++对转载 2013-08-05 15:37:33 · 524 阅读 · 0 评论 -
C++ static friend使用
#include using namespace std;class MyClass{ public: MyClass(){ mchar = 'A';}; static char *str ; static void print( void ); friend void printprivate( MyClass &myclass ); privat转载 2013-08-05 10:17:49 · 1370 阅读 · 0 评论 -
vector运用
vector t;temp w1;w1.str = "hello";w1.id = 1;t.push_back(w1);w1.str = "world";w1.id = 2;t.push_back(w1);for (vector::iterator itor = t.begin(); itor != t.end(); itor++){cout //c原创 2013-07-23 15:10:28 · 426 阅读 · 0 评论 -
C++中gcnew()
在VS2010中可能是因为.net是对C++又进行了优化。有些代码不同了,现记录于此,防止以后忘掉了。StreamWriter^ sw = File::CreateText(path);上面的^可能就是引用的意思,就是原来C++中的指针了。sw->WriteLine( "Hello" );其调用方式也是和指针的调用方法的方式是一样的。Thread^转载 2013-08-05 17:35:58 · 11223 阅读 · 2 评论 -
c++友元类
#include using namespace std;class Tv{friend class Tel;public:Tv(int volume,int change):voiume_(volume),changel_(change){}private:int voiume_;int changel_;};c原创 2013-08-05 23:05:39 · 587 阅读 · 0 评论 -
Delpi使用对象创建接受window消息
在delphi中,有时候我们希望对象可以接收windows消息,怎么办呢?因为要接收windows消息起码要有windows Handle,难道要建立的一个可见窗口?那样似乎太差强人意了。delphi提供了一个函数Classes.AllocateHWnd。分析AllocateHWND发现delphi CreateWindowEx一个尺寸为0的窗口,窗口是生成了,Handle也有了,但窗口的消息要处转载 2013-08-06 09:36:10 · 978 阅读 · 0 评论 -
c++写dll文件,用delphi stdcall调用报地址000001错误,
c++ extern "C" _declspec(dllexport) int Min(int a,int b);delphi function Min(a: Integer;b: Integer): Integer;stdcall external 'Win32Project3.dll';调用是会报地址错误--原因是调用方式不一致导致应该改为functio原创 2013-08-06 11:04:12 · 1051 阅读 · 0 评论 -
C++代码风格与规范
C++代码风格与规范 /* * Copyright(c) 2008 by Microsoft Corporation * All right reserved. * * 文件名称: polymorphism.h * 文件标识: * 描 述: 多态性演示 * * 当前版本: 1.1 * 作 者: James * 完成日期: 2/26/转载 2013-08-01 15:24:43 · 624 阅读 · 0 评论 -
c++ valArray运用
valarray val1(9);double pi = 3.14159265359;int i;for (i = 0; i val1[i] = 0.25*i - 1;}valarray val2(9);val2 = acos(val1);for (i = 0; i cout }原创 2013-07-31 16:32:44 · 765 阅读 · 0 评论 -
char * 动态分配大小
char* name; name = (char*) malloc(sizeof(char) *1024 + 1); //char *以\0结尾所以需要多+1cin >> name;原创 2013-07-23 11:12:31 · 4394 阅读 · 0 评论 -
char * 读取中文
int main(void){char *s = "变压器110";int i;for (i = 0; s[i] != '\0'; i++){if (!(s[i] & 0x80)){printf("this is a char:%c\n", s[i]);}else //中文编码{char w[2];//以字符串的形式存储汉字w[0] = s[i];转载 2013-07-23 11:34:09 · 1051 阅读 · 0 评论 -
stringstream使用
stringstream //字符类型转换ostringstream s; //处理字符中间有空格s string str;str = s.str();//在这里,我试图得到hello world, 但是,只能得到hellocout stringstream ssm;string mystr="456";ssm int a=0;ssm >>原创 2013-07-23 14:10:57 · 695 阅读 · 0 评论 -
C++判断文件是否存在
用函数access,头文件是io.h,原型: int access(const char *filename, int amode);amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在,返回-1。这个函数还可以检查其它文件属性:06 检查读写权限 04 检查读权限 02 检查写权限 0转载 2013-07-23 15:53:57 · 6612 阅读 · 0 评论