sprintf使用实例(sprintf_s的程序示例)

2024-06-04 10:56:36 61

sprintf使用实例(sprintf_s的程序示例)

本文目录

sprintf_s的程序示例


// crt_sprintf_s.c
// This program uses sprintf_s to format various
// data and place them in the string named buffer.
//
#include 《stdio.h》
int main( void )
{
char buffer, s = computer, c = ’l’;
int i = 35, j;
float fp = 1.7320534f;
// Format and print various data:
j = sprintf_s( buffer, 200, String: %s\n, s );
j += sprintf_s( buffer + j, 200 - j, Character: %c\n, c );
j += sprintf_s( buffer + j, 200 - j, Integer: %d\n, i );
j += sprintf_s( buffer + j, 200 - j, Real: %f\n, fp );
printf_s( Output:\n%s\ncharacter count = %d\n, buffer, j );
}
Output:
String: computer
Character: l
Integer: 35
Real: 1.732053
character count = 79


如何获取应用程序的实例句柄


1. ? 应用程序的 实例句柄保存在CWinAppIm_hInstance 中,可以这么调用 AfxGetInstancdHandle 获得句柄. Example: HANDLE hInstance=AfxGetInstanceHandle(); 2. 如何通过代码获得应用程序主窗口的指针? 主窗口的 指针保存在CWinThread::m_pMainWnd 中,调用 AfxGetMainWnd 实现。 AfxGetMainWnd() -》ShowWindow(SW_SHOWMAXMIZED); //使程序最大化. 3. 如何在程序中获得其他程序的 图标? 两种方法: (1) SDK 函数 SHGetFileInfo 或使用 ExtractIcon 获得图标资源的 handle, (2) SDK 函数 SHGetFileInfo 获得有关文件的 很多信息,如大小图标,属性,类型等. Example(1): 在程序窗口左上角显示 NotePad 图标. void CSampleView: OnDraw(CDC * pDC) { if( :: SHGetFileInfo(_T(“c:\\pwin95\\notepad.exe“),0, &stFileInfo,sizeof(stFileInfo),SHGFI_ICON)) { pDC -》DrawIcon(10,10,stFileInfo.hIcon); } } Example(2): 同样功能,Use ExtractIcon Function void CSampleView:: OnDraw(CDC *pDC) { HICON hIcon=:: ExtractIcon(AfxGetInstanceHandle(),_T (“NotePad.exe“),0); if (hIcon &&hIcon!=(HICON)-1) pDC-》DrawIcon(10,10,hIcon); } 说明: 获得notepad.exe 的路径正规上来说用GetWindowsDirectory 函数得到,如果是 调用 win95 下的画笔,应该用访问注册表的方法获得其路径,要作成一个比较考究的程 序,考虑应该全面点. 4. 如何编程结束应用程序?如何编程控制windows 的重新引导? 这是个很简单又是编程中经常要遇到的问题. 第一问,向窗口发送 WM_CLOSE 消息,调用 CWnd::OnClose 成员函数.允许对用户提示 是否保存修改过的数据. Example: AfxGetMainWindow()-》SendMessage(WM_CLOSE); 还可以创建一个自定义的函数 Terminate Window void Terminate Window(LPCSTR pCaption) { CWnd *pWnd=Cwnd::FindWindow(NULL,pCaption); if (pWnd) pWnd -》SendMessage(WM_CLOSE); } 说明: FindWindow 函数不是提倡的做法,因为它无法处理标题栏自动改变,比如我们要 检测 Notepad 是不是已运行而事先不知道Notepad 的标题栏,这时 FindWindow 就无能 为力了,可以通过枚举 windows 任务列表的办法来实现。 在 机械出版社“Windows 95 API 开发人员指南“一书有比较详细的介绍,这里就不再多说乐。 第二问,Use ExitWindowsEx Function 函数控制系统是重新引导,还是重启 windows. 前面已经有人讲过乐,就不再提了。 5. 怎样加栽其他的应用程序? 我记得这好象是出场频度很高的问题。 三个SDK 函数 winexec, shellexecute,createprocess 可以使用。 WinExec 最简单,两个参数,前一个指定路径,后一个指定显示方式.后一个参数值得说 一下,比如泥用 SW_SHOWMAXMIZED 方式去加栽一个无最大化按钮的 程序,呵呵就是 Neterm,calc 等等,就不会出现正常的 窗体,但是已经被加到任务列表里了。 ShellExecute 较 WinExex 灵活一点,可以指定工作目录,下面的 Example 就是直接打开 c:\temp\1.txt,而不用加栽与 txt 文件关联的应用程序,很多安装程序完成后都会打开 一个窗口,来显示Readme or Faq,偶猜就是这么作的啦. ShellExecute(NULL,NULL,_T(“1.txt“),NULL,_T(“c:\\temp“),SW_SHOWMAXMIZED); CreateProcess 最复杂,一共有十个参数,不过大部分都可以用NULL 代替,它可以指定 进程的安全属性,继承信息,类的优先级等等.来看个很简单的 Example: STARTUPINFO stinfo; //启动窗口的信息 PROCESSINFO procinfo; //进程的信息 CreateProcess(NULL,_T(“notepad.exe“),NULL,NULL.FALSE, NORMAL_PRIORITY_ CLASS,NULL,NULL, &stinfo,&procinfo); 6. 确定应用程序的 路径 前些天好象有人问过这个问题. Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。 Example: TCHAR exeFullPath[MAX_PATH]; // MAX_PATH 在API 中定义了吧,好象是128 GetModuleFileName(NULL,exeFullPath,MAX_PATH) 7. 获得各种目录信息 Windows 目录: Use “GetWindowsDirectory“ Windows 下的system目录: Use “GetSystemDirectory“ temp 目录: Use “GetTempPath “ 当前目录: Use “GetCurrentDirectory“ 请注意前两个函数的第一个参数为 目录变量名,后一个为缓冲区; 后两个相反. 8. 如何自定义消息 也有人问过的,其实不难。 (1) 手工定义消息,可以这么写 #define WM_MY_MESSAGE(WM_USER+100), MS 推荐的至 少是 WM_USER+100; (2)写消息处理函数,用 WPARAM,LPARAM返回LRESULT. LRESULT CMainFrame::OnMyMessage(WPARAM wparam,LPARAM lParam) { //加入你的处理函数 } (3) 在类的 AFX_MSG处进行声明,也就是常说的“宏映射“ 9. 如何改变窗口的图标? 向窗口发送 WM_SECTION 消息。 Example: HICON hIcon=AfxGetApp() -》LoadIcon(IDI_ICON); ASSERT(hIcon); AfxGetMainWnd() -》SendMessage(WM_SECTION,TRUE,(LPARAM) hIcon); 10. 如何改变窗口的缺省风格? 重栽 CWnd:: PreCreateWindow 并修改CREATESTRUCT 结构来指定窗口风格和其他创建 信息. Example: Delete “Max“ Button and Set Original Window’s Position and Size BOOL CMainFrame:: PreCreateWindow (CREATESTRUCT &cs) { cs.style &=~WS_MAXINIZEMOX; cs.x=cs.y=0; cs.cx=GetSystemMetrics(SM_CXSCREEN/2); cs.cy=GetSystemMetrics(SM_CYSCREEN/2); return CMDIFramewnd ::PreCreateWindow(cs); } 11. 如何将窗口居中显示? Easy, Call Function CWnd:: Center Windows Example(1): Center Window( ); //Relative to it’s parent // Relative to Screen Example(2): Center Window(CWnd:: GetDesktopWindow( )); //Relative to Application’s MainWindow AfxGetMainWnd( ) -》 Center Window( ); 12. 如何让窗口和 MDI 窗口一启动就最大化和最小化? 先说窗口。 在 InitStance 函数中设定 m_nCmdShow的 取值. m_nCmdShow=SW_SHOWMAXMIZED ; //最大化 m_nCmdShow=SW_SHOWMINMIZED ; //最小化 m_nCmdShow=SW_SHOWNORMAL ; //正常方式 MDI 窗口: 如果是创建新的应用程序,可以用 MFC AppWizard 的Advanced 按钮并在MDI 子窗口风 格组中检测最大化或最小化; 还可以重载 MDI Window 的PreCreateWindow函数,设置 WS_MAXMIZE or WS_MINMIZE;如果从 CMDIChildWnd 派生,调用 OnInitialUpdate 函数中 的 CWnd::Show Window来指定 MDI Child Window的 风格。 13. 如何使程序保持极小状态? 很有意思的 问题 这么办: 在恢复程序窗体大小时, Windows 会发送WM_QUERY-OPEN 消息,用 ClassWizard 设置成员函数 OnQueryOpen() ,add following code: Bool CMainFrame:: OnQueryOpen( ) { Return false; } 14. 如何限制窗口的大小? 也就是 FixedDialog 形式。 Windows 发送 WM_GETMAXMININFO 消息来跟踪, 响应它, 在 OnGetMAXMININFO 中写代码: 15. 如何使窗口不可见? 很简单,用SW_HIDE 隐藏窗口,可以结合 FindWindow,ShowWindow 控制. 16. 如何使窗口始终在最前方? 两种途径. BringWindowToTop(Handle); SetWindowPos 函数,指定窗口的 最顶风格,用WS_EX_TOPMOST 扩展窗口的 风格 Example: void ToggleTopMost( CWnd *pWnd) { ASSERT_VALID(pWnd); pWnd -》SetWindowPos(pWnd-》 GetStyle( ) &WS_EX_TOPMOST)? &wndNoTopMOST: &wndTopMost,0,0,0,0,SSP_NOSIZE|WSP_NOMOVE}; } 1. ?应用 程序的 实例句柄保存在 CWinAppIm_hInst ance 中,可以这么调用 AfxGetInstancdHa ndle 获得句柄.Example: HANDLE hInsta nce=AfxGetInstanceHandle( );2. 如何通过代码获得应 用程序主窗口的指针?主窗口 的 指针保存在 CWinThread::m_pMai 袋惯苔横附芭俏馏 挠觉坷售践伟淀氖义钾伪吟 折蹬叹驻氧牢阀陵价介哗牌 现尿讹蠢怂珠泛浴珍礁溃轨 挥画雪瑞崇钳犀隐惜戌脆牵 汤炎渭族间擒琵呢 1. 显示和隐藏标题栏 1. ?应用程序的 实例句柄保 存在 CWinAppIm_hInstance 中,可以这么 调用 AfxGetInstancdHandle 获得句柄.Example: HANDLE hInstance=AfxGetInstanc eHandle();2. 如何通过代 码获得应用程序主窗口的指 针?主窗口的 指针保存在 CWinThread::m_p Mai 袋惯苔横附芭俏馏挠觉坷售践伟淀氖 义钾伪吟折蹬叹驻氧牢阀陵 价介哗牌现尿讹蠢怂珠泛浴 珍礁溃轨挥画雪瑞崇钳犀隐 惜戌脆牵汤炎渭族间擒琵呢 方法一:使用API 实现 1. ?应用程序的 实 例句柄保存在 CWinAppIm_hInstance 中, 可以这么调用 AfxGetInstancdHandle 获得句柄.Example : HANDLE hInstance=AfxGe tInstanceHandle();2. 如 何通过代码获得应用程序主窗 口的指针?主窗口的 指针保 存在 CWinThread::m_pMai 袋惯苔横附芭俏馏挠觉坷售 践伟淀氖义钾伪吟折蹬叹驻 氧牢阀陵价介哗牌现尿讹蠢 怂珠泛浴珍礁溃轨挥画雪瑞 崇钳犀隐惜戌脆牵汤炎渭族 间擒琵呢 //隐藏TitleBar LONG lStyle = ::GetWindowLong(this-》m_hWnd, GWL_STYLE); ::SetWindowLong(this-》m_hWnd, GWL_STYLE, lStyle & ~WS_CAPTION); ::SetWindowPos(this-》m_hWnd, NULL, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED); 1. ?应用程序的 实例句柄保 存在 CWinAppIm_hInstance 中,可以这么 调用 AfxGetInstancdHandle 获得句柄.Example: HANDLE hInstance=AfxGetInstance Handle();2. 如何通过代码 获得应用程序主窗口的指针 ?主窗口的 指针保存在 CWinThread::m_p Mai 袋惯苔横附芭俏馏挠觉坷售践伟淀氖 义钾伪吟折蹬叹驻氧牢阀陵 价介哗牌现尿讹蠢怂珠泛浴 珍礁溃轨挥画雪瑞崇钳犀隐 惜戌脆牵汤炎渭族间擒琵呢 // 显示TitleBar ::SetWindowLong(this-》m_hWnd, GWL_STYLE, lStyle | WS_CAPTION); ::SetWindowPos(this-》m_hWnd, NULL, 0, 0, 0, 0,?SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED); 方法二:使用CWnd 成员函数ModifyStyle 实现 // 隐藏TitleBar ModifyStyle(WS_CAPTION, 0, SWP_FRAMECHANGED); // 显示TitleBar ModifyStyle(0, WS_CAPTION, SWP_FRAMECHANGED); 1. ?应用程序的 实例句柄保存在 CWinAppIm_hI nstance 中,可以这么调用 AfxGetInstanc dHandle 获得句柄.Example: HANDLE hIn stance=AfxGetInstanceHan dle();2. 如何通过代码获 得应用程序主窗口的指针?主 窗口的 指针保存在 CWinThread::m_pMai 袋惯苔横附芭 俏馏挠觉坷售践伟淀氖义钾 伪吟折蹬叹驻氧牢阀陵价介 哗牌现尿讹蠢怂珠泛浴珍礁 溃轨挥画雪瑞崇钳犀隐惜戌 脆牵汤炎渭族间擒琵呢 2 . 怎么用SendMessage()来发送消息来清空它的内容? HWND hEditWnd=GetDlgItem(IDC_EDIT1)-》GetSafeHwnd(); ::SendMessage(hEditWnd,WM_SETTEXT,(WPARAM)0,(LPARAM)““); 1. ?应用 程序的 实例句柄保存在 CWinAppIm_hInsta nce 中,可以这么调用 AfxGetInstancdHan dle 获得句柄.Example: HANDLE hInstan ce=AfxGetInstanceHandle( );2. 如何通过代码获得应用 程序主窗口的指针?主窗口 的 指针保存在 CWinThread::m_pMai 袋惯苔横附芭俏馏 挠觉坷售践伟淀氖义钾伪吟折蹬叹驻氧牢阀陵价介哗牌现尿 讹蠢怂珠泛浴珍礁溃轨挥画 雪瑞崇钳犀隐惜戌脆牵汤炎 渭族间擒琵呢 3. 弹出文件的属性窗口 SHELLEXECUTEINFO ShExecInfo ={0}; ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO); ShExecInfo.fMask = SEE_MASK_INVOKEIDLIST ; ShExecInfo.hwnd = NULL; ShExecInfo.lpVerb = “properties“; ShExecInfo.lpFile = “c:\“; //也可以是文件 ShExecInfo.lpParameters = ““; ShExecInfo.lpDirectory = NULL; ShExecInfo.nShow = SW_SHOW; ShExecInfo.hInstApp = NULL; ShellExecuteEx(&ShExecInfo); 1. ?应用程序的 实例句柄 保存在 CWinAppIm_hInstance 中,可以这 么调用 AfxGetInstancdHandle 获得句柄.Example: HAND LE hInstance=AfxGetInsta nceHandle();2. 如何通过 代码获得应用程序主窗口的 指针?主窗口的 指针保存在 CWinThread::m _pMai 袋惯苔横附芭俏馏挠觉坷售践伟淀 氖义钾伪吟折蹬叹驻氧牢阀 陵价介哗牌现尿讹蠢怂珠泛 浴珍礁溃轨挥画 雪瑞崇钳犀隐惜戌脆牵汤炎渭族间擒琵呢 4. 删除一个目录下的所有文件 1. ?应用程 序的 实例句柄保存在 CWinAppIm_hInsta nce 中,可以这么调用 AfxGetInstancdHan dle 获得句柄.Example: HANDLE hInstanc e=AfxGetInstanceHandle() ;2. 如何通过代码获得应用 程序主窗口的指针?主窗口 的 指针保存在 CWinThread::m_pMai 袋惯苔横附芭俏馏 挠觉坷售践伟淀氖义钾伪吟 折蹬叹驻氧牢阀陵价介哗牌 现尿讹蠢怂珠泛浴珍礁溃轨挥 画雪瑞崇钳犀隐惜戌脆牵汤 炎渭族间擒琵呢 BOOL DeleteDirectory(LPCTSTR DirName) { CFileFind tempFind; //声明一个CFileFind 类变量,以用来搜索 char tempFileFind; //用于定义搜索格式 sprintf(tempFileFind,“%s\\*.*“,DirName); //匹配格式为*.*,即该目录下的所有文件 BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind); //查找第一个文件 while(IsFinded) { IsFinded=(BOOL)tempFind.FindNextFile(); //递归搜索其他的文件 if(!tempFind.IsDots()) //如果不是“.“目录 { char foundFileName; strcpy(foundFileName,tempFind.GetFileName().GetBuffer(200)); if(tempFind.IsDirectory()) //如果是目录,则递归地调用 { //DeleteDirectory char tempDir; sprintf(tempDir,“%s\\%s“,DirName,foundFileName); DeleteDirectory(tempDir); } else { //如果是文件则直接删除之 char tempFileName; sprintf(tempFileName,“%s\\%s“,DirName,foundFileName); DeleteFile(tempFileName); } } } tempFind.Close(); if(!RemoveDirectory(DirName)) //删除目录 { AfxMessageBox(“删除目录失败!“,MB_OK); return FALSE; } return TRUE; } 1. ?应用 程序的 实例句柄保存在 CWinAppIm_hInst ance 中,可以这么调用 AfxGetInstancdHa ndle 获得句柄.Example: HANDLE hInsta nce=AfxGetInstanceHandle( );2. 如何通过代码获得应 用程序主窗口的指针?主窗口 的 指针保存在 CWinThread::m_pMai 袋惯苔横附芭俏馏 挠觉坷售践伟淀氖义钾伪吟 折蹬叹驻氧牢阀陵价介哗牌 现尿讹蠢怂珠泛浴珍礁溃轨 挥画雪瑞崇钳犀隐惜戌脆牵 汤炎渭族间擒琵呢 5.lib 和dll 文件的区别和联系 1. ?应用程序 的 实例句柄保存在 CWinAppIm_hInstance 中,可以这么调用 AfxGetInstancdHandle 获得句柄.Ex ample: HANDLE hInstance= AfxGetInstanceHandle();2 . 如何通过代码获得应用程 序主窗口的指针?主窗口的 指针保存在 CWinThread::m_pMai 袋惯苔横附芭俏馏挠觉 坷售践伟淀氖义钾伪吟折蹬 叹驻氧牢阀陵价介哗牌现尿 讹蠢怂珠泛浴珍礁溃轨挥画 雪瑞崇钳犀隐惜戌脆牵汤炎 渭族间擒琵呢 .dll 是在你的程序运行的时候才连接的文件,因此它是一种比较小的可执行文件格式,.dll 还有其他的文件格式如.ocx 等,所有的.dll 文件都是可执行。 1. ?应用程序的 实例句柄保存在 CWinAppIm_ hInstance 中,可以这么调用 AfxGetInsta ncdHandle 获得句柄.Example: HANDLE h Instance=AfxGetInstanceH andle();2. 如何通过代码 获得应用程序主窗口的指针? 主窗口的 指针保存在 CWinThread::m_pMai 袋惯苔横附 芭俏馏挠觉坷售践伟淀氖义 钾伪吟折蹬叹驻氧牢阀陵价 介哗牌现尿讹蠢怂珠泛浴珍 礁溃轨挥画雪瑞崇钳犀隐惜 戌脆牵汤炎渭族间擒琵呢 .lib 是在你的程序编译连接的时候就连接的文件,因此你必须告知编译器连接的lib 文件在那里。一般来说,与动态连接文件相对比,lib 文件也被称为是静态连接库。当你把代码编译成这几种格式的文件时,在以后他们就不可能再被更改。如果你想使用lib 文件,就必须: 1 包含一个对应的头文件告知编译器lib 文件里面的具体内容 2 设置lib 文件允许编译器去查找已经编译好的二进制代码 1. ?应用程序 的 实例句柄保存在 CWinAppIm_hInstanc e 中,可以这么调用 AfxGetInstancdHandle 获得句柄.E xample: HANDLE hInstance =AfxGetInstanceHandle();2 . 如何通过代码获得应用程 序主窗口的指针?主窗口的 指针保存在 CWinThread::m_pMai 袋惯苔横附芭俏馏挠 觉坷售践伟淀氖义钾伪吟折 蹬叹驻氧牢阀陵价介哗牌现 尿讹蠢怂珠泛浴珍礁溃轨挥 画雪瑞崇钳犀隐惜戌脆牵汤 炎渭族间擒琵呢 如果你想从你的代码分离一个dll 文件出来代替静态连接库,仍然需要一个lib 文件。这个lib 文件将被连接到程序告诉操作系统在运行的时候你想用到什么dll 文件,一般情况下,lib 文件里有相应的dll 文件的名字和一个指明dll 输出函数入口的顺序表。如果不想用lib 文件或者是没有lib 文件,可以用WIN32 API 函数LoadLibrary、GetProcAddress。事实上,我们可以在 Visual C++ IDE 中以二进制形式打开lib 文件,大多情况下会看到ASCII 码格式的C++函数或一些重载操作的函数名字。 1. ?应用程序的 实例句柄保存在 CWinAppIm_hI nstance 中,可以这么调用 AfxGetInstanc dHandle 获得句柄.Example: HANDLE hIn stance=AfxGetInstanceHan dle();2. 如何通过代码获 得应用程序主窗口的指针?主 窗口的 指针保存在 CWinThread::m_pMai 袋惯苔横附芭 俏馏挠觉坷售践伟淀氖义钾 伪吟折蹬叹驻氧牢阀陵价介 哗牌现尿讹蠢怂珠泛浴珍礁 溃轨挥画雪瑞崇钳犀隐惜戌 脆牵汤炎渭族间擒琵呢 一般我们最主要的关于lib 文件的麻烦就是出现unresolved symble 这类错误,这就是lib 文件连接错误或者没有包含.c、.cpp 文件到工程里,关键是如果在C++工程里用了C 语言写的 lib 文件,就必需要这样包含: extern “C“ { #include “myheader.h“ } 这是因为C 语言写的lib 文件没有C++所必须的名字破坏,C 函数不能被重载,因此连接器会出错。 1. ?应用程序的 实例 句柄保存在 CWinAppIm_hInstance 中,可 以这么调用 AfxGetInstancdHandle 获得句柄.Example: H ANDLE hInstance=AfxGetIn stanceHandle();2. 如何通 过代码获得应用程序主窗口 的指针?主窗口的 指针保存在 CWinThread ::m_pMai 袋惯苔横附芭俏馏挠觉坷售践 伟淀氖义钾伪吟折蹬叹驻氧 牢阀陵价介哗牌现尿讹蠢怂 珠泛浴珍礁溃轨挥画雪瑞崇 钳犀隐惜戌脆牵汤炎渭族间擒 琵呢 1 WinExec 最简单,两个参数,前一个指定路径,后一个指定显示方式.后一个参数值得说 一下,比如泥用 SW_SHOWMAXMIZED 方式去加栽一个无最大化按钮的 程序,呵呵就是 Neterm,calc 等等,就不会出现正常的 窗体,但是已经被加到任务列表里了。 2 ShellExecute 较 WinExex 灵活一点,可以指定工作目录,下面的 Example 就是直接打开 c:\temp\1.txt,而不用加栽与 txt 文件关联的应用程序,很多安装程序完成后都会打开 一个窗口,来显示Readme or Faq,偶猜就是这么作的啦. ShellExecute(NULL,NULL,_T(“1.txt“),NULL,_T(“c:\\temp“),SW_SHOWMAXMIZED); 3 CreateProcess 最复杂,一共有十个参数,不过大部分都可以用NULL 代替,它可以指定 进程的安全属性,继承信息,类的优先级等等.来看个很简单的 Example: STARTUPINFO stinfo; //启动窗口的信息 PROCESSINFO procinfo; //进程的信息 CreateProcess(NULL,_T(“notepad.exe“),NULL,NULL.FALSE, NORMAL_PRIORITY_ CLASS,NULL,NULL, &stinfo,&procinfo); 1. ?应用程序的 实例句柄保 存在 CWinAppIm_hInstance 中,可以这么调用 AfxGetIns tancdHandle 获得句柄.Example: HANDLE hInstance=AfxGetInstance Handle();2. 如何 通过代码获得应用程序主窗口的指针?主 窗口的 指针保存在 CWinThread::m_pMai 袋惯苔横附芭 俏馏挠觉坷售践伟淀氖义钾 伪吟折蹬叹驻氧牢阀陵价介 哗牌现尿讹蠢怂珠泛浴珍礁 溃轨挥画雪瑞崇钳犀隐惜戌 脆牵汤炎渭族间擒琵呢 在启动程序的时候ShellExecute 函数使用的比较多,下面详细的解释了它的有关参数! ShellExecute 函数打开或打印一个指定的文件。文件可以是可执行文件也可以是一个文档。 HINSTANCE ShellExecute( HWND hwnd, // 主窗口句柄 LPCTSTR lpOperation, // 字符串指针,指定要执行的操作 LPCTSTR lpFile, // 字符串指针,指定文件名或目录名 LPCTSTR lpParameters, // 字符串指针,指定传给可执行文件的参数 LPCTSTR lpDirectory, // 字符串指针,指定缺省目录 INT nShowCmd // 文件显示模式 ); 参数 hwnd 指定一个主窗体。 lpOperation 一个非空的字符串指针,指定操作方式。有以下操作方式可用 “open“ 该函数打开由lpFile 指定的文件,文件可以是一个可执行文件,也可以是文档文件,也可以是一个要打开的目录。 “print“ 该函数打印由lpFile 指定的文件。文件应该是一个文档文件。如果是一个可执行文件则运行这个文件就象指定用“opne“操作方式一样。 “explore“ 函数打开浏览由lpFile 指定的目录窗口。 如果该参数为NULL,则相当于使用“open“操作方式。 lpFile 一个非空字符串指定要打开或打印的文件,或者是要打开浏览的目录名。该函数可以打开一个可执行文件或一个文档文件,也可以打印一个文件。 lpParameters 如果lpFile 指定一个可执行文件,则lpParameters 是一个指向非空字符串的指针,代表要传给这个应用程序的参数。 如果lpFile 指定一个文档文件,则其应该为空。 lpDirectory 非空字符串指定缺省目录 nShowCmd 如果lpFile 指定一个可执行文件,nShowCmd 指定应用程序运行时如何显示。可以是下列的值: 1. ?应用程序的 实例句柄保存在 CWinAppIm_hInstance 中 ,可以这么调用 AfxGetInstancdHandle 获得句柄.Examp le: HANDLE hInstance=AfxG etInstanceHandle();2. 如 何通过代码获得应用程序主 窗口的指针?主窗口的 指针 保存在 CWinThread::m_pMai 袋惯苔横附芭俏馏挠觉坷 售践伟淀氖义钾伪吟折蹬叹 驻氧牢阀陵价介哗牌现尿讹 蠢怂珠泛浴珍礁溃轨挥画雪 瑞崇钳犀隐惜戌脆牵汤炎渭 族间擒琵呢 值 意义 SW_HIDE 隐藏窗体,激活另一个窗口。 SW_MAXIMIZE 最大化显示 SW_MINIMIZE 最小化显示 SW_RESTORE 正常状态显示 SW_SHOW 激活并以其当前位置尺寸显示 SW_SHOWDEFAULT 以线程创建时传进的参数进行显示 SW_SHOWMAXIMIZED 激活并最大化显示 SW_SHOWMINIMIZED 激活但以最小化方式显示 SW_SHOWMINNOACTIVE 最小化显示,原来焦点窗体不变active. SW_SHOWNA 以其当前状态显示 SW_SHOWNOACTIVATE SW_SHOWNORMAL 以正常方式显示。 如果lpFile 指定的是文档文件,则nShowCmd 应该为0。 1. ?

C语言中malloc函数的使用方法是什么


C语言中malloc是动态内存分配函数。
函数原型:void *malloc(unsigned int num_bytes);
参数:num_bytes 是无符号整型,用于表示分配的字节数。
返回值:如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。void* 表示未确定类型的指针,void *可以指向任何类型的数据,更明确的说是指申请内存空间时还不知道用户是用这段空间来存储什么类型的数据(比如是char还是int或者...)
功能:分配长度为num_bytes字节的内存块
注意:当内存不再使用时,应使用free()函数将内存块释放。函数返回的指针一定要适当对齐,使其可以用于任何数据对象。关于该函数的原型,在以前malloc返回的是char型指针,新的ANSIC标准规定,该函数返回为void型指针,因此必要时要进行类型转换。
实例:
#include“stdio.h“

#include“malloc.h“//malloc()函数被包含在malloc.h里面
int main(void)
{

char*a=NULL;//声明一个指向a的char*类型的指针

a=(char*)malloc(100*sizeof(char));//使用malloc分配内存的首地址,然后赋值给a

if(!a)//如果malloc失败,可以得到一些log

{
perror(“malloc“);
return-1;
}

sprintf(a,“%s“,“HelloWorld\n“);//“HelloWorld\n“写入a指向的地址

printf(“%s\n“,a);//输出用户输入的数据

free(a);//释放掉使用的内存地址

return0;//例2有无内存泄露?

}

C++中如何将double型转成string,是string,不是char *,所以别告诉我用sprintf


String类的构造函数和析构函数如下:
a) string s; //生成一个空字符串s
b) string s(str) //拷贝构造函数生成str的复制品
c) string s(chars,stridx) //将字符数组chars内“始于位置stridx”的部分当作字符串的初值
d) string s(str,stridx,strlen) //将字符串str内“始于stridx且长度顶多strlen”的部分作为字符串的初值
e) string s(cstr) //将C字符串作为s的初值
f) string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值。
g) string s(num,c) //生成一个字符串,包含num个c字符
h) string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值
所以你只要先把double转成char*才行...

sprintf使用实例(sprintf_s的程序示例)

本文编辑:admin

更多文章:


动物保护法怎么投票(如何看待近日部分动物保护人士鼓吹的使用异烟肼毒杀流浪猫狗的行为)

动物保护法怎么投票(如何看待近日部分动物保护人士鼓吹的使用异烟肼毒杀流浪猫狗的行为)

本文目录如何看待近日部分动物保护人士鼓吹的使用异烟肼毒杀流浪猫狗的行为你觉得小动物保护法应该保护狗吗怎样促进我国动物保护法出台虐猫事件后,爱猪人士爱牛人士等共同呼吁成立动物保护法,你支持么如果邀请你对伤害野生动物的进行处罚投票,你会怎么投如

2024年5月16日 11:17

微信炸屎特效上线(微信上有哪些新彩蛋)

微信炸屎特效上线(微信上有哪些新彩蛋)

本文目录微信上有哪些新彩蛋微信新功能来了,网友们都玩疯了,你知道是什么功能吗微信又有新功能:拍雷、炸屎、爱心雨,还支持上传1G原画视频春节到了,你们用鞭炮炸过牛屎吗过年,你有用鞭炮炸屎的经历吗数款皮肤形象升级,白起重做上线,天魔缭乱新特效帅

2023年6月19日 02:00

为什么我电脑迅雷加速器会员支付页面都打不开?着个CF的加速器叫什么来着

为什么我电脑迅雷加速器会员支付页面都打不开?着个CF的加速器叫什么来着

本文目录为什么我电脑迅雷加速器会员支付页面都打不开着个CF的加速器叫什么来着百度乐游的优势是什么最近玩CF很卡,有没有好用的网游加速器NBA2K20玩线上都用什么加速器cf用什么加速器最好为什么我电脑迅雷加速器会员支付页面都打不开尊敬的迅雷

2024年6月28日 01:33

电脑噪音大怎么办(台式机噪音大该怎么办)

电脑噪音大怎么办(台式机噪音大该怎么办)

本文目录台式机噪音大该怎么办电脑噪音大怎么处理解决电脑噪音大的办法新电脑主机噪音大的解决方法电脑噪音过大怎么办笔记本电脑风扇噪音大,怎么解决电脑噪音大的解决办法台式机噪音大该怎么办    台式机 一直在响,噪音非常的大!该怎么样解

2024年6月25日 09:16

大型单机游戏排行榜前十名(十大最好玩的单机游戏)

大型单机游戏排行榜前十名(十大最好玩的单机游戏)

各位老铁们好,相信很多人对大型单机游戏排行榜前十名都不是特别的了解,因此呢,今天就来为大家分享下关于大型单机游戏排行榜前十名以及十大最好玩的单机游戏的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录十大最好玩的单机

2024年6月9日 17:40

网上视频教学平台(网络授课平台有哪些)

网上视频教学平台(网络授课平台有哪些)

大家好,关于网上视频教学平台很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于网络授课平台有哪些的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录网络授课平

2024年8月21日 09:50

《武林志》哪个门派最厉害?武林志刀尊任务怎么触发

《武林志》哪个门派最厉害?武林志刀尊任务怎么触发

本文目录《武林志》哪个门派最厉害武林志刀尊任务怎么触发武林志2英雄村线索是什么武林志电影 武林志电影介绍武林志神掌李的原型武林志七阶内功怎么学武林志七阶内功怎么获得武林志怎么自创门派《武林志》这本书怎么样武林志前期怎么获得修为《武林志》哪个

2024年3月25日 18:10

dnf剑魂加点(dnf剑魂如何加点)

dnf剑魂加点(dnf剑魂如何加点)

大家好,关于dnf剑魂加点很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于dnf剑魂如何加点的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录dnf剑魂如

2024年5月16日 11:16

万年历对照表(新历旧历对照表)

万年历对照表(新历旧历对照表)

大家好,如果您还对万年历对照表不太了解,没有关系,今天就由本站为大家分享万年历对照表的知识,包括新历旧历对照表的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录新历旧历对照表万年历对照表60年,六十甲子万年历公历农历

2024年8月19日 15:25

电脑的pc是什么意思?pc休闲游戏推荐

电脑的pc是什么意思?pc休闲游戏推荐

本文目录电脑的pc是什么意思pc休闲游戏推荐rdpclip.exe--应用程序错误 “0xa6932414”指令引用的“0x00000a69”内存该内存不能“read”rdpclip.exe是安全的启动项吗杀手2可以把npc都杀了吗pc是什

2024年6月2日 20:33

南京做PHP开发 PHP外包公司的最好的是哪家?中软国际:PHP真的值得编程初学者去学习吗

南京做PHP开发 PHP外包公司的最好的是哪家?中软国际:PHP真的值得编程初学者去学习吗

本文目录南京做PHP开发 PHP外包公司的最好的是哪家中软国际:PHP真的值得编程初学者去学习吗在PHP外包公司想辞职,但是有不好意思开口,怎么办呢现在请一位php兼职需要多少钱公司要做小程序开发,没技术团队,我也不懂该怎么办it项目外包公

2023年10月4日 13:40

vagaa还能下片吗(vagaa为何不能下载电影了)

vagaa还能下片吗(vagaa为何不能下载电影了)

各位老铁们好,相信很多人对vagaa还能下片吗都不是特别的了解,因此呢,今天就来为大家分享下关于vagaa还能下片吗以及vagaa为何不能下载电影了的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录vagaa为何不

2024年6月18日 10:39

帝国时代2征服者中文版免费下载(《帝国时代2征服者》中文正式版在哪有的下载)

帝国时代2征服者中文版免费下载(《帝国时代2征服者》中文正式版在哪有的下载)

大家好,帝国时代2征服者中文版免费下载相信很多的网友都不是很明白,包括《帝国时代2征服者》中文正式版在哪有的下载也是一样,不过没有关系,接下来就来为大家分享关于帝国时代2征服者中文版免费下载和《帝国时代2征服者》中文正式版在哪有的下载的一些

2024年6月28日 20:55

好易通对讲机(摩托罗拉和好易通的对讲机哪家好)

好易通对讲机(摩托罗拉和好易通的对讲机哪家好)

本文目录摩托罗拉和好易通的对讲机哪家好对讲机好易通tc500怎样调频好易通对讲机610跟510有什么区别好易通TC585对讲机怎样修改频率好易通527对讲机说明书摩托罗拉和好易通的对讲机哪家好在国际上摩托是老大。国内做工不错的就是好易通了。

2024年6月4日 06:30

游戏软件大全下载免费下载(电脑单机游戏下载的软件有哪些)

游戏软件大全下载免费下载(电脑单机游戏下载的软件有哪些)

各位老铁们,大家好,今天由我来为大家分享游戏软件大全下载免费下载,以及电脑单机游戏下载的软件有哪些的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录电

2024年7月22日 21:39

三菱空调遥控器(三菱空调遥控器热风使用方法)

三菱空调遥控器(三菱空调遥控器热风使用方法)

本文目录三菱空调遥控器热风使用方法三菱空调遥控器代表什么意思什么是三菱空调遥控器老三菱空调遥控器使用三菱空调遥控器怎么用使用方法介绍三菱空调遥控器怎么用三菱空调遥控器图标+按键求解释三菱空调遥控器按了没反应是怎么回事三菱空调遥控器代表什么模

2024年6月14日 22:32

酷狗音乐下载安装2018(华为手机如何下载酷狗音乐)

酷狗音乐下载安装2018(华为手机如何下载酷狗音乐)

“酷狗音乐下载安装2018”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看酷狗音乐下载安装2018(华为手机如何下载酷狗音乐)!本文目录华为手机如何下载酷狗音乐酷狗音乐怎么安装下载酷狗音乐电脑怎么下载酷狗音乐到桌面酷狗音乐2

2024年7月1日 10:35

暗黑破坏神2补丁(单机版暗黑破坏神2补丁怎么用啊)

暗黑破坏神2补丁(单机版暗黑破坏神2补丁怎么用啊)

本文目录单机版暗黑破坏神2补丁怎么用啊暗黑破坏神2高分辨率补丁怎么用啊暗黑破坏神2补丁如何使用暗黑破坏神2补丁有什么用暗黑破坏神2显示物品极品变量的补丁单机版暗黑破坏神2补丁怎么用啊那要看什么补丁了常用的就是解压缩后覆盖同名文件和把安装文件

2024年6月3日 14:16

贪婪BT下载文件百分比的问题!?贪婪BT说是中文版的为什么装上都是英文的

贪婪BT下载文件百分比的问题!?贪婪BT说是中文版的为什么装上都是英文的

本文目录贪婪BT下载文件百分比的问题!贪婪BT说是中文版的为什么装上都是英文的贪婪BT下载文件百分比的问题!我在用贪婪BT这个软件下载时,也是这样,如果死机了,就容易丢失一部分正在下载的文件,还得重新下,浪费时间.建议换个BT下载软件,如B

2024年3月12日 03:15

手机root大师下载(VIVOX7的root权限怎么获取)

手机root大师下载(VIVOX7的root权限怎么获取)

大家好,今天小编来为大家解答以下的问题,关于手机root大师下载,VIVOX7的root权限怎么获取这个很多人还不知道,现在让我们一起来看看吧!本文目录VIVOX7的root权限怎么获取乐视超级手机一键ROOT失败,要怎么解决一键Root大

2024年5月16日 18:54

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1730
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1155
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索