c学习笔记

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

针对vs的一些问题

1、VS2013中使用fopen、sprintf等函数是会出现安全问题:

error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

而报错。

解决方法:右键工程名-->属性-->C/C++-->预处理器-->预处理器定义,编辑右边输入框加入:_CRT_SECURE_NO_WARNINGS

保存。

2、不能从const char *转换为LPCWSTR

在VC 6.0中编译成功的项目在VS2005 vs2005、vs2008、vs2010中常会出现类型错误。

经常出现的错误是:不能从const char *转换为LPCWSTR

如使用MessageBox(hwnd,"TEST",NULL,0)就会报错,如果使用强制转换(LPCWSTR)"TEST",虽然能够通过,但是编码会出错。

可行的办法是使用_T("TEST")转换,或者TEXT("TEST" )都可以

MessageBox(hwnd,TEXT("TEST"),NULL,0);

MessageBox(hwnd,_T("TEST"),NULL,0);

或者强制使用ANSI字符MessageBoxA(hwnd,"TEST",NULL,0);

另一种方法是:项目菜单——项目属性(最后一个)——配置属性——常规——项目默认值——字符集,将使用Unicode字符集改为未设置即可。

3、设置当前操作的项目为默认启动项

右击解决方案-》通用属性–》启动项目-》当前选定内容。

4、在vs2013中出现错误:未定义标识符ULONG_PTR,BOOL,DWORD,LPCTSTR,HWND等在文件头部增加:include头文件WinDef.h eg: #include

5、vs2012下用MFC编程,用CString定义一个对象,m_strLine,希望实现在onChar消息下实现键盘输入一个字符串,就把它加入到m_strLine中,写如下代码

m_strLine += nChar; 会报错;运算符与操作数类型不匹配

因为nChar是UNIT类型的,而m_strLine是CString类型的,不同类型的不能进行加减、赋值等操作,需要改成

m_strLine += (char)nChar;

6、vs2012删除某个成员函数(不是物理删除就是注释掉而已)

右键点击该成员函数所属的类,选择类向导,在弹出的对话框中选中该成员函数,点击删除处理程序即可达到在成员函数的前面添加注释的效果;

Vs快捷键

Ctrl+K,C: 注释选定内容

Ctrl+K,U: 取消选定注释内容

Ctrl+左右箭头键: 一次可以移动一个单词

Ctrl+上下箭头键: 滚动代码屏幕,但不移动光标位置。

Ctrl+Shift+L: 删除当前行在此处键入公式。

Ctrl+E,W: 自动换行

Ctrl+G: 转到指定行

Shift+Alt+箭头键: 选择矩形文本

Alt+鼠标左按钮: 选择矩形文本

Ctrl+Shift+U: 全部变为大写

Ctrl+U: 全部变为小写

Ctrl+D,B: 断点窗口

Ctrl+D,I: 即时窗口

Ctrl+Shift+N: 新建项目

Ctrl+Shift+O: 打开项目

Ctrl+Shift+S: 全部保存

Shift+Alt+C: 新建类

Ctrl+Shift+A: 新建项

Shift+Alt+Enter: 切换全屏编辑

智能提示:ctrl + J

方法参数提示:ctrl + shift +空格

Ctrl+F5: 开始执行(不调试)

F9: 切换断点

Ctrl+Shift+F9: 删除全部断点

关闭VS2013中单击打开文件的功能

中文版:

工具--》选项--》环境--》选项卡和窗口--》预览选项卡

去掉“在解决方案资源管理器中预览选定的文件(在按住Alt的同时单击可避免预览)(X)”的勾选

C++中的模板

类模板

1、先建立一个Arry.h的头文件

2、在头文件中写入固定格式

#ifndef ARRY_H

#define ARRY_H

…code…

#endif

3、在上一步的code地方创建类模板

template

class Array

{

public:

Array(int size);//构造函数

bool push(T elem);//放入值

void display();//显示函数private:

T *m_pArr;

int m_iSize;

int m_iLength;

};

4、实现构造函数Array();

template

Array::Array(int size)

{

m_iSize = size;

m_iLength = 0;

m_pArr = new T[m_iSize];

}

5、实现成员方法push();

template

bool Array::push(T elem)

{

if (m_iLength >= m_iSize)

{

return false;

}

m_pArr[m_iLength] = elem;

m_iLength++;

return true;

}

6、实现成员方法display();

template

void Array::display()

{

for (int i = 0; i < m_iLength; i++)

{

cout<

}

}

7、创建实例化的主函数入口文件

#include

#include "Arry.h"

相关文档
最新文档