今天逛VC驿站 的收获
1。C++ 如何定义一个定长字符串, 若不足位数,就补字符串"0"?
eg:
CString str1 = “123”;
不足20位,前面补“0”,实现效果为“00000000000000000123”
answer:
str.Format(_T("%020s"),_T("aaa"));
2.vs2010建的单文档程序如何隐藏菜单栏?
answer:
这个是MFC标准的单文档,可以哦。
不知道你选的是什么类型的单文档
然后这个是Visucal Studio 风格的取消方法
首先,来到这里,把这个注释掉
然后往下翻。。。
第三步!

OK 完工
最后一步 也是最关键的一步。。杀他儿子!
其他方法:
在App Instantsh函数最后添加 pMainFrm->SetMenu(NULL),不一定有效,可以试试。
3.本机上测试内网IP可以连接到服务器,外网IP却连接不进来是怎么回事啊
http://www.cctry.com/thread-242540-1-1.html
4.关于CDHtmlDialog使用Navigate
http://www.cctry.com/thread-242570-1-1.html
http://www.cctry.com/thread-242623-1-1.html
http://www.bccn.net/Article/kfyy/vc/jszl/200601/3003_2.html(利用MFC实现浏览器的定制与扩展)
5.
代码如下、不明白的是
1.变量ch不是一个整体么?怎么输出却是输出%c、而不是ch呢?(我试过ch的、输出的是结果后面加一个h的、显然:h是多余的、)这个有点纳闷、
2.ch被定义了两次、第一次是b、第二次是e、输出的却是:e、那么定义b有什么用呢?
程序代码:}
printf()是用C编写好的现成函数,但它不是C语言的组成部分,这个函数的用法是它自己定义的,不是C语言定义的。也就是说,不要把学到printf()的用法当成是C语言的知识,不是的!
printf()函数并不直观,写出来难免出现误导性结果,你遇到的就是很典型的一种。%c、%s、%d这种约定的格式转义符,由于可能与后面的不转义符没有间隔,而让读者误以为能够凑成有意义的输出,当输出字符串中夹杂有\这样的转义字符时,尤其混乱,除非你很熟悉各种转义字符,否则很容易绕晕。C++改造过的输出语法,就比C的好一些,等你以后接触到别的语言时,自然能够感受到printf()/scanf()的简陋。不用太执着钻研这类专门函数的用法,更不要使用太复杂的用法,学基本的就够了。
6.今天看到VC驿站的一位网友研究关于如何实现 C 语言中 字符串的 Left、Mid、Right 操作。
相关帖子参见:http://www.cctry.com/thread-242625-1-1.html
//////////////////////////////////////////////////////////////////////////////////
// 备注:本篇文章来自 vc驿站:http://www.cctry.com
// C、C++、VC++ 各种学习资源,免费教程,期待您的加入!
//////////////////////////////////////////////////////////////////////////////////
这三个函数的功能是类似的,Mid 为从中间截取,Left 从左边开始截取,Right 为从右边开始截取。
于是自己便简单实现了一下,发出来提供大家方便使用。
- #include <string.h>
- #include <stdlib.h>
- char * strLeft(const char *src, unsigned int n)
- {
- if (!src || n <= 0 || n > strlen(src))
- return NULL;
- char *retBuffer = (char *)malloc(n+1);
- memset(retBuffer, 0, n+1);
- strncpy(retBuffer, src, n);
- return retBuffer;
- }
- char * strMid(const char *src, unsigned int startIdx, unsigned int n)
- {
- if (!src || startIdx < 0 || startIdx >= strlen(src) || n <= 0 || n >= strlen(src))
- return NULL;
- char *retBuffer = (char *)malloc(n+1);
- memset(retBuffer, 0, n+1);
- strncpy(retBuffer, src+startIdx, n);
- return retBuffer;
- }
- //////////////////////////////////////////////////////////////////////////////////
- // 备注:本篇文章来自 vc驿站:http://www.cctry.com
- // C、C++、VC++ 各种学习资源,免费教程,期待您的加入!
- //////////////////////////////////////////////////////////////////////////////////
- char * strRight(const char *src, unsigned int n)
- {
- if (!src || n <= 0 || n >= strlen(src))
- return NULL;
- char *retBuffer = (char *)malloc(n+1);
- memset(retBuffer, 0, n+1);
- unsigned int offset = strlen(src)-n;
- strncpy(retBuffer, src+offset, n);
- return retBuffer;
- }
因为是malloc之后返回的,所以别忘记了free
8.在MFC中syntax error : missing ';' before identifier 'MMVERSION'这个问题是怎么回事??
是类型么有定义,将头文件包含进来。(举一反三)
9.我想要 编辑框没有输入东西的时候下面的 某个按钮不可用,输入东西了 按钮才可用,怎么搞?
对编辑框在EN_CHANGE事件响应时,去EnableWindow()控件的可用性
10.VS2010:就报错了:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏?
我的电脑了原来装了VS 2010了,今天下载VS 2012装了上去,然后建了个MFC工程,运行了一下。然后打开原来VS 2010项目,一运行,就报错了:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏。
首先,说明一下报错的原因(微软的解释),地址:http://support.microsoft.com/kb/320216/zh-cn
然后,在网上找到了不少解决方法,列举一下:
方法1:发现是嵌入清单的问题,于是对该工程以及所有依赖工程进行如下操作:右键->工程属性->配置属性-> 清单工具->输入和输出->嵌入清单,选择[否]
或者将项目\属性\配置属性\链接器\清单文件\生成清单:原来是“是”,改成“否”。
方法2:给VS2010打SP1补丁。这个补丁有500多M。下载地址是:http://www.microsoft.com/en-us/download/details.aspx?id=23691
但是,我按照方法1的方法去修改,还是不可以,于是,下载了2个小时补丁,安装后发现可以了。希望给遇到相同问题的朋友有一个借鉴。
今天逛VC驿站 的收获的更多相关文章
- VC驿站黑客编程(关机,重新启动,注销)
此程序在VS2013下编译通过,假设换到编译器,大家能够稍作改动使用 #include<Windows.h> #include<tchar.h> #include"r ...
- [收藏夹整理]VC部分
c++多线程(一) C++11 多线程 鸡啄米:C++编程入门系列之十二(类与对象:面向对象设计的基本思想和特点) 鸡啄米:C++编程入门系列之二十一(C++程序设计必知:类的静态成员) [笔记]VS ...
- vc++基础班[25]---系统信息的获取
--------------------------------------------------------------------------- VC 驿站 WwW.CcTry.CoM 多抽出一 ...
- VC++进行窗口枚举
https://blog.csdn.net/u012372584/article/details/53735242 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...
- 从网上找的 visual studio 的各个版本下载地址,vs2010/vs2012/vs2013带注册码
从网上找的 visual studio 的各个版本下载地址,很全,从 6.0 一直 到 vs2013,要的拿去吧... Microsoft Visual Studio 6.0 下载:英文版360云盘下 ...
- WebBrowser之获取跳转页面的Document接口源码
问题由来是这样的,今天帮一个网友解决问题,说从VC驿站下载了一个源码,程序的功能主要是在对话框上面放置了一个WebBrowser控件,程序启动的时候默认调用这句代码: m_web.Navigate(_ ...
- 射击的乐趣:WIN32诠释打飞机游戏
一楼留给链接http://blog.csdn.net/crocodile__/article/details/11860129 楼上神贴,膜拜片刻...... 一.游戏玩法和已经实现的功能 1.打开游 ...
- [vijos P1083] 小白逛公园
不知怎地竟有种错觉此题最近做过= =目测是类似的?那道题貌似是纯动归? 本来今晚想做两道题的,一道是本题,一道是P1653疯狂的方格取数或NOI08 Employee,看看现在的时间目测这个目标又达不 ...
- 【VC】VC工具栏图标合并工具(非tbcreator和visual toolbar)
VC开发难免会用到toolbar,在没有美工的时候,大部分时间我们只能自己上. 第一个方法:fireworks/photoshop平铺.现在的图片资源大多为背景透明的png图片,虽然fireworks ...
随机推荐
- [BZOJ 2656][ZJOI2012]数列(递归+高精度)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2656 分析: 很容易想到递归分治,但遇到奇数时候f[i]=f[i/2]+f[i/2+1 ...
- 编写高质量代码改善C#程序的157个建议[勿选List<T>做基类、迭代器是只读的、慎用集合可写属性]
前言 本文已更新至http://www.cnblogs.com/aehyok/p/3624579.html .本文主要学习记录以下内容: 建议23.避免将List<T>作为自定义集合类的基 ...
- 每天一个linux命令(7):cp 命令
cp 命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在, 就会询问是否覆盖,不管你是否使用-i参数.但是如 ...
- Git的基本使用方法和安装&心得体会
1. git的安装和github的注册.代码托管.创建organization.邀请member. (1)git的安装 因为我电脑是windows系统,所以下载的是git for windows.在官 ...
- 【Gym 100685J】Just Another Disney Problem(交互/排序)
第一次做交互题. 题意是有n个数(n<1000),你通过问1 a b,后台返回你YES代表a<b,NO代表a>b.要你在10000次询问内给出一个符合的排列.n=1000来说,100 ...
- STL简单应用问题
问题: Input输入的第一行是一个整数T( 1 <= T <= 100 ),表示有几组输入数据.每组输入由4部分组成:(1)一个字典,最多包含2000个单词,每个单词一行.(2)一行字符 ...
- CRUD之delete操作
在公司的项目中delete之后的操作有两种处理方式 1.后台删除成功之后前台页面刷新 2.后台删除成功之后页面不刷新,但是数据所在的那个div会刷新一次 3.后台删除,页面上做了一个删除,删除的td没 ...
- Dedecms include\dialog\select_soft_post.php Upload Any Files To The Specified Directory Via Variable Not Initial Flaw Bypass Extension Defence
目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 综合来说,这个漏洞的根源是"register_globals = on& ...
- PL/0编译器(java version)–Pcode.java
1: package compiler; 2: 3: /** 4: * //虚拟机指令 5: * 6: * @author jiangnan 7: * 8: */ 9: public class ...
- API与软件架构
http://blog.csdn.net/horkychen/article/details/46612899 从架构设计的角度来看(所谓的组成论),软件系统就是模块和接口. 模块(层次/组件)决定分 ...