博客小子:记录我们对互联网和生活的探索! 注册 | 登陆
浏览模式: 标准 | 列表分类:c/c++

学习:MFC小把戏,生成拼音域名列表

生成域名列表,方便批量查询!

学习VC++的小把戏!

» 阅读全文

Tags: vc, mfc

VC++中CString和char*的相互转换

网上转来的 学习下

1.传给未分配内存的const char* (LPCTSTR)指针.
   CString cstr(asdd);
   const char* ch = (LPCTSTR)cstr;
   ch指向的地址和cstr相同。但由于使用const保证ch不会修改,所以安全.

2.传给未分配内存的指针.
    CString cstr = "ASDDSD";
    char *ch = cstr.GetBuffer(cstr1.GetLength() + 1);
    cstr.ReleaseBuffer();
    //修改ch指向的值等于修改cstr里面的值.
    //PS:用完ch后,不用delete ch,因为这样会破坏cstr内部空间,容易造成程序崩溃.
3.第二种用法。把CString 值赋给已分配内存的char *。
    CString cstr1 = "ASDDSD";
    int strLength = cstr1.GetLength() + 1;
    char *pValue = new char[strLength];
    strncpy(pValue, cstr1, strLength);
4.第三种用法.把CString 值赋给已分配内存char[]数组.
    CString cstr2 = "ASDDSD";
    int strLength1 = cstr1.GetLength() + 1;
    char chArray[100];
    memset(chArray,0, sizeof(bool) * 100); //将数组的垃圾内容清空.
    strncpy(chArray, cstr1, strLength1);

» 阅读全文

Tags: vc++, cstring, char

没有找到MFC42D.DLL,因此这个应用程序未能启动...(转载)

问题:vc++6.0错误:没有找到MFC42D.DLL,因此这个应用程序未能启动.重新安装应用程序可能会修复此问题。

解:

一般在编程序时,都是生成了调试版的程序,就是在那个 Debug目录下的可执行文件。运行这调试版的exe文件,都会动态连接MFC42D.DLL和MSVCRTD.DLL这两个文件,所以你如果将这个文件 在其它机器上运行而这台机器没有这两个文件或者缺少一个,系统则会出现:“找不到所需.dll文件-某某.dll”这样的提示。而一般系统都不带有这两个 文件,除非是装了vc等--事实是,我装了vc++6.0还发生了这种错误,不知道是不是盗版软件的问题...
解决方法很简单:

» 阅读全文

Tags: vc

BCB编译的exe没有找到vcl60.bpl

问题:
BCB6.0下编译的EXE文件,不能在其他机器上运行(只有装了C++BUILDER的机器才能执行)其提示为:没有找到vcl60.bpl.

原因:不带运行时库的编译

» 阅读全文

Tags: c++

C++Builder中MessageBox的基本用法

【函数】 <整型> MessageBox(<字符串> Text, <字符串> Title, <整型> nType);
【函数说明】 弹出一个消息框。
【语法】
参数:
Text <字符串>,消息框的正文;
Title <字符串>,消息框的标题;
nType <整型>,消息框的类型。
返回值:<整型>,用户在消息框上点击关闭时的选择的按钮。

» 阅读全文

Tags: c++builder, c++, messagebox

Records:21123