获取当前执行程序的名称

考虑到main函数第一个参数就是程序的名称,因此很容易写出下面的代码:#include<iostream> int main(int argc, char** argv) { std::cout<&amp;lt;argv[0]&amp;lt;&amp;lt;std::endl; }别慌,输出来看看,怎么这个不光是程序的名称,还包含路径呀!真是累赘那下一步当然是删除这个累赘了使用下面的代码:#include &amp;lt;iostream.h>#include <string.h>int main(int argc, char** argv){ cout&amp;l...
2008-06-08 17:17 | 阅读 5599 次 | 评论 2 条

自删除的批处理命令

我们可以在批处理文件中向注册表注册一个自启动键值,然后要删除批处理文件自己 比如把下面的代码保存为b.bat [code] rem 文件名 b.batecho off set tt = %cd% rem 上面这条语句你必须加在第一行,不然没办法保存变量 rem 自己的处理reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v * /d * cd %tt% rem 这个是进入p处理刚开始的文件夹 del /q/s b.bat rem 这个是删除自己的命令 exit [/code] 然后双击运行即可发现这个b....
2008-06-06 15:09 | 阅读 13044 次 | 评论 2 条

c语言运行批处理文件

批处理文件其实也是命令程序,所以可以使用system函数像运行普通的exe文件一样操作 // vc 测试 #include <windows.h>#include <stdio.h> int main(){ system(&quot;b.bat&quot;); return 0;}
2008-06-06 14:50 | 阅读 3585 次 | 评论 0 条

把文本框数据保存到文件中

建立文件: 在对话框的函数中(如:ONOK) UpdateData(TRUE); CString FileName; char *temp=conver(m_Str);//m_Str是要文本框的字符串变量。 FileName=&quot;\\str.txt&quot;; FILE* Stream; CString m_path;//m_path用来指定路径,自己来初始化吧! if((Stream=fopen(m_path+FileName,&quot;a+t&q...
2008-06-01 14:16 | 阅读 5073 次 | 评论 0 条

文件属性attrib

int findfirst(char *pathname, struct ffblk *ffblk, int attrib);上述函数中的 attrib 属性定义见dos.h ,而不是dir.h文件/* MSC names for file attributes */#define _A_NORMAL 0x00 /* Normal file, no attributes */#define _A_RDONLY 0x01 /* Read only attribute */#define _A_HIDDEN 0x02 /* Hid...
2008-05-31 18:34 | 阅读 5724 次 | 评论 1 条

VC编程实现通过HTTP去下载文件

void OnDownload_thread( void * p) { CClientDC dc( static_cast < CMainFrame *> (p)); dc.TextOut( 50 , 100 , &quot; 正在下载最新版本迅雷,请等待 &quot; ...
2008-05-31 17:19 | 阅读 21081 次 | 评论 0 条

CXPButton类(VC按钮自绘)

CXPButton类(VC按钮自绘)XPButton.h===================================================#if !defined(AFX_XPBUTTON_H__44CD5B2A_756E_4939_9261_E0034E0F2DEF__INCLUDED_)#define AFX_XPBUTTON_H__44CD5B2A_756E_4939_9261_E0034E0F2DEF__INCLUDED_#if _MSC_VER &amp;gt; 1000#pragma once#endif // _MSC_VER &amp;gt; 1000...
2008-05-31 14:09 | 阅读 6239 次 | 评论 0 条

数组名与指针的区别

指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:&quot;数组名就是指针&quot;。很幸运,我的大学老师就是其中之一。时至今日,我日复一日地进行着C/C++项目的开发,而身边还一直充满这样的程序员,他们保留着&quot;数组名就是指针&quot;的误解。  想必这种误解的根源在于国内某著名的C程序设计教程。如果这篇文章能够纠正许多中国程序员对数组名和指针的误解,笔者就不甚欣慰了。借此文,笔者站在无数对知识如饥似渴的中国程序员之中,深深寄希望于...
2008-05-31 00:07 | 阅读 1187 次 | 评论 0 条

互通 主机名 和 IP(C++,WIN32 API)

1>通过IP获取对方主机名: A: SOCKADDR_IN addrTo; addrTo.sin_addr.S_un.S_addr=htonl(dwIP); char* HostName = gethostbyaddr((char*)&amp;addrTo.sin_addr.S_un.S_addr,4,AF_INET))->h_name; B:获取本机主机名可以直接通过gethostname函数完成,如: char* LocalHostName = gethostname(hostname,128); 2>通过主机名获取对方IP HOSTENT pHo...
2008-05-02 11:27 | 阅读 2103 次 | 评论 0 条

自动截屏到文件的小程序

自动截屏到文件的小程序 (一)功能实现了一个定时截取当前屏幕图像的小程序。(二)准备工作1)建立VC CONSOLE APPLICATION,选择MFC SUPPORT2)在STDAFX.H文件中加入头文件:conio.h(三)主程序主程序代码如下: char Filename[100]; int count = 0; while(!_kbhit())//用户按键则退出 { Sleep(5000);//挂起5秒 count ++; sprint...
2008-05-01 23:53 | 阅读 2624 次 | 评论 1 条

get ip address

Class CSocket derives from CAsyncSocket and inherits its encapsulation of the Windows Sockets API,因此这个软件使用的是异步(非阻塞)方式实现文件的传输CWindow::GetDlgItem This method retrieves the specified child window. The GetDlgItem method only works for immediate child controls of a dialog box—it does not search ...
2008-05-01 16:06 | 阅读 2865 次 | 评论 2 条

I2C总线接口

用VC++6.0实现PC机与单片机之间串行通信的方法 工业控制领域(如DCS系统),经常涉及到串行通信问题。为了实现微机和单片机之间的数据交 换,人们用各种不同方法实现串行通信,如DOS下采用汇编语言或C语言,但在Windows 环境下却存在一些困难和不足。在Windows操作系统已经占据统治地位的情况下(何况有些系统根本不支持DOS如Windows2000)开发 Windows 环境下串行通信技术就显得日益重要。 VC ++6.0是微软公司于1998年推出的一种开发环境,以其强大的功能,友好的界面,32位面向对象的程序设计及Active X的灵活性而受...
2008-04-29 08:53 | 阅读 2290 次 | 评论 0 条

pragma comment的使用

pragma comment的使用 #pragma comment( comment-type [,"commentstring"] ) comment-type是一个预定义的标识符,指定注释的类型,应该是compiler,exestr,lib,linker之一。 commentstring是一个提供为comment-type提供附加信息的字符串,Remarks:1、compiler:放置编译器的版本或者名字到一个对象文件,该选项是被linker忽略的。2、exestr:在以后的版本将被取消。3、lib:放置一个库搜索记录到对象文件中,这个类型应该是和commentstring(指...
2008-04-24 21:28 | 阅读 2569 次 | 评论 0 条

确定工程名的小技巧

为了减少代码的大小,通常很多网站希望提供的源代码吧编译产生的Debug文件夹删除,更有甚者,要把VC工程也删除,只留下自己编写的代码,课我们下载的时候,没有工程,当然要自己创建一个工程名就成了问题,怎么办呢 ?一个小技巧,就是看看资源文件的名字,遇有这个资源文件是源代码的一部分,是不允许删除的(对于一个完整程序),而这个资源文件的文件名通常和过程名字是同名的,比如vcterm.rc,我们就可以推断这个工程名字也是 vcterm,这样我们使用vcterm创建的工程,吧下载的源代码直接加入就能运行,否则可能由于一些代码的文件名不一直,使包含的文件找不到
2008-04-22 11:45 | 阅读 2214 次 | 评论 1 条

CString,string,char*的综合比较

CString,string,char*的综合比较 (一) 概述 string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中; CString(typedef CStringT<TCHAR, StrTraitMFC<TCHAR>> CString)为Visual C++中最常用的字符串类,继承自CSimpleStringT类,主要应用在MFC和ATL编程中,主要数据类型有char(应用于ANSI),wchar_t(unicode),TCHAR(ANSI...
2008-04-14 21:06 | 阅读 3530 次 | 评论 2 条

string VS char*

之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 首先,为了在我们的程序中使用string类型,我们必须包含头文件 <string>。如下: #include <string> //注意这里不是string.h string.h是C字符串头文件 1.声明一个C++字符串 声明一个字符串变量很简单: st...
2008-04-14 18:39 | 阅读 2924 次 | 评论 1 条

杂记

.h 与using 命令不能共存,.h 是标准C之前的用法,当时没有名字空间之说,标准C之后,使用using 命令
2008-04-14 00:25 | 阅读 1800 次 | 评论 0 条

C语言之可变参数问题之二

 C语言中有一种长度不确定的参数,形如:"…",它主要用在参数个数不确定的函数中,我们最容易想到的例子是printf函数。  原型: int printf( const char *format [, argument]... );  使用例: printf("Enjoy yourself everyday!\n");printf("The value is %d!\n", value);  这种可变参数可以说是C语言一个比较难理解的部分,这里会由几个问题引发一些对它的分析。  注意:在C++中有函数重载(overload)可以用来区别不同函数参数的调用,但它...
2008-04-10 18:25 | 阅读 1520 次 | 评论 0 条

VC++中malloc函数源代码

VC++中malloc函数源代码/****malloc.c - Get a block of memory from the heap** Copyright (c) 1989-1997, Microsoft Corporation. All rights reserved.**Purpose:* Defines the malloc() function.********************************************************************************/ #include <cruntime.h>#...
2008-04-10 18:20 | 阅读 7502 次 | 评论 1 条

第十章 函数模板

第十章 函数模板 摘自 http://thunderbird2.itpub.net/category/5549/52292 10.1 函数模板定义 1. (与宏做比较)函数模板提供了一种机制通过它我们可以保留函数定义和函数调用的语义在一个程序位置上封装了一段代码确保在函数调用之前实参只被计算一次而无需像宏方案那样绕过C++的强类型检查; 2. (实质)函数模板提供一个种用来自动生成各种类型函数实例的算法; 3. (形式)程序员对于函数接口参数和返回类型中的全部或者部分类型进行参数化而函数体保持不变; 4. (场合)如果用一个函数的实现在一组实例上保持不变并且每个实例都处理一种...
2008-04-10 18:11 | 阅读 2595 次 | 评论 0 条
浏览1967134次