快捷键
注释多行:ctrl+K+C 取消注释:ctrl+K+U
VS使用中的问题
1.error: can not open precompiled header file:Debug/.pch:No such file 或VS在查找预编译头使用时跳过解决
可以设置Project properties,在c/c++栏,选择PreCompiled headers,然后设置第一选项,选择不使用预编译头,解决这个问题
2.一个solution里存在有多个project的时候,编译成功,但是会提示unable to start program:原因可能有多种,这里提供一种可能的解决方法,右键sln-》property,在single startup project选择需要启动的工程。
3.C语言生成的EXE程序怎么取消运行后自动关闭
S: 在程序末尾加个死循环或者加个读入数据, while(1);//就是在这里加,也可以加getch(),getchar(),for(;;)
改程序,在最后退出程序前加一句 system("pause");system("pause")在编写C时包含在"stdlib.h"头文件中
4.出现如下错误“#("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name:")”
S:项目-项目属性-C/++-预处理器定义-编辑,然后在定义框中输入“_CRT_NONSTDC_NO_DEPRECATE” 和“ _CRT_SECURE_NO_WARNINGS”
5.出现the function maybe unsafe,consider using ** instead
S: 在项目属性预处理器定义添加一句命令“_CRT_SECURE_NO_WARNINGS”
6.创建文件夹命令
using std ::string;
#include "windows.h"
string dirName = "C:/Users/hnf_YF/Desktop/testsys";
bool flag = CreateDirectory(dirName.c_str(), NULL);
CreateDirectory()函数参数如果提示"Error: "const char"类型的实参与"LPCWSTR"类型的形参不兼容",解决方法:项目菜单——项目属性(最后一个)——配置属性——常规——项目默认值——字符集,将使用Unicode字符集改为未设置即可。
7.C++调试时,内存监视项突然没有了,ctrl+alt+M快捷键也打不开,最后通过工具-导入导出设置-重置所有设置解决,不知道是设置了什么引起的。
8,在网上下载的源码,编译时出现字符类型(char和w_char,LPCSTR,LPCWSTR等)编译不通过的问题,属性-配置属性-常规-字符集-使用多字节字符集,如果VS未下载多字节包,下载安装vc_mbcsmfc.exe,编译通过。
attention:(LPCSTR,LPCWST)
LP:指针
C:const
W:wide宽字符
STR表示这个变量是一个字符串
详细可参考:https://blog.youkuaiyun.com/gaoyang610/article/details/21234979
9. 在控制台应用程序中使用CString,CArray等MFC类时,设置属性-配置属性-常规-MFC的使用-在共享dll中使用MFC。使用MFC类需要包含 #include <afxtempl.h> #include<afx.h>头文件,有可能出现"WINDOWS.h already include,MFC apps must not include windows.h"编译错误,这种情况办法一:将#include<afx.h> #include <atlstr.h> #include<afxtempl.h>语句放在其他包含语句最前面;办法二:将其他不会用到的#include<windows.h>删掉。(不需要设置在共享dll中使用MFC)
10.VS中创建多个工程时,每个工程的宏定义不一致的处理方法。
项目(project)-属性(properties)-c/c++-预处理器(preprocessor)-预处理器定义(Preprocessor Definitions)增加所要定义的宏。