C++
叙媛
多源融合定位与智能控制讨论群,QQ群:51885949
展开
-
C#工程使用CLI无法调试进底层C++/C库
C#工程使用CLI无法调试进底层C++/C库原创 2023-05-03 22:42:36 · 368 阅读 · 0 评论 -
boost的编译
boost的编译原创 2023-01-25 22:40:34 · 95 阅读 · 0 评论 -
仿函数的作用
仿函数的作用。原创 2022-10-02 14:49:14 · 274 阅读 · 0 评论 -
C++之旅
在这里,我开始了我的C++之旅。原创 2011-11-16 13:19:28 · 426 阅读 · 0 评论 -
对SHFileOperation函数的一点研究
SHFileOperation是一种外壳函数,用它可以实现各种文件操作,如文件的拷贝、删除、移动等,当然,它也可以对文件夹进行操作。它操作文件夹有一个亮点就是,当删除某个文件夹时可以删除非空文件夹,而我们所熟知的RemoveDirectory函数却只能删除空文件夹。使用它只需要为其指定SHFILEOPSTRUCT结构体就OK了。例如删除 D:\Test.txt SHFILEOPSTRU原创 2011-11-17 21:59:17 · 4155 阅读 · 0 评论 -
C++里判断目录是否存在的总结
PathFileExists(LPCTSTR pszpath):若果存在返回TRUE,否则返回FALSE。_assess(char *path,int mode):当mode取0时,即为判断文件或者文件夹是否存在。当存在时返回0,否则,返回-1。mode还可以取其它如2,4,6,分别判断只写,只读,读写。原创 2011-11-17 22:06:47 · 864 阅读 · 0 评论 -
操作符->与.的区别
CPoint* pPt;CPoint Pt;pPt->x=1;pPt->y=2;Pt.x=3;Pt.y=4;从上面可以很容易看出->和.操作符的不通过,->用于对象指针,.用于对象。原创 2011-11-19 00:47:31 · 510 阅读 · 0 评论 -
MFC中让CTreeCtrl填充FormView
在FromView的WM_SIZE消息处理函数下编辑如下代码:void CLeftView::OnSize(UINT nType, int cx, int cy){ CFormView::OnSize(nType, cx, cy); // TODO: 在此处添加消息处理程序代码 ::SetWindowPos(m_treeCtrl,HWND_TOP,0,0,cx,cy,SW原创 2011-11-19 15:44:55 · 801 阅读 · 0 评论 -
关于CFindFile的一个小问题
当我用"路径\\*.*"去遍历的时候,总会遍历出一个文件名为.,一个文件名为..的结果,不知道这是为什么。原创 2011-11-20 00:42:36 · 687 阅读 · 0 评论 -
关于窗口初始化样式及显示最大化
1.在PreCreateWindow(CREATESTRUCT& cs)中更改窗口样式 对 WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX的说明:后两者都依赖第一个,如果没有第一个,即使有后两个也没有效果。这里应该好理解,如果没有菜单栏,那么菜单上的各种按钮肯定也不会存在了。 可以用来设置窗口在NORM状态下的 高度和宽度,以及右上角的坐标原创 2011-11-19 17:13:37 · 1811 阅读 · 0 评论 -
如何去掉FormView的滚动条
在默认状态下,当FormView被压缩到一定大小时,会出现滚动条。 要去掉这种滚动条,需要在WM_SIZE消息处理函数下添加代码: ShowScrollBar(SB_BOTH,FALSE);//垂直水平方向的滚动条都不显示。原创 2011-11-19 17:42:24 · 2709 阅读 · 0 评论 -
怎样修改和或许editbox里的文本
http://topic.csdn.net/t/20050213/01/3782288.html原创 2011-11-16 14:17:24 · 814 阅读 · 0 评论 -
求教一个指针的问题:*pResult=0
LRESULT *pResult*pResult=0这个写法是什么意思?原创 2011-11-19 00:54:31 · 1584 阅读 · 0 评论 -
MFC模态对话框和非模态对话框
MFC中对话框有两种形式,一个是模态对话框(model dialog box),一个是非模态对话框(modeless dialog box)。一、模态对话框(model dialog box)在程序运行的过程中,若出现了模态对话框,那么主窗口将无法发送消息,直到模态对话框退出才可以发送。点击模态对话框中的OK按钮,模态对话框会被销毁。创建一个模态对话框的代码:view转载 2011-11-16 13:21:44 · 802 阅读 · 1 评论 -
::SetWindowPos()为何要加::
我们知道::表示作用域,这里也不例外。 像这种形式,前面没有类名的表示调用的是全局API函数,而不是类成员函数。原创 2011-11-19 15:43:28 · 608 阅读 · 0 评论 -
getline
原型 istream& getline ( istream& , streamsize& , char delim ); istream& getline ( istream& , streamsize& );参数 is 进行读入操作的输入流 str 存储读入的内容 delim 终结符返回值 与参数is是一样的头文件 getline转载 2011-11-24 16:38:29 · 1530 阅读 · 0 评论 -
CString,Char*,string
《C++标准函数库》中说的 有三个函数可以将字符串的内容转换为字符数组和C—string 1.data(),返回没有”\0“的字符串数组2,c_str(),返回有”\0“的字符串数组 3,copy().................................................................int 转 CString:CStri转载 2011-11-25 15:51:14 · 540 阅读 · 0 评论 -
深入char buffer[]与string
char buffer[]字符数组,char buffer[6]="hello";char数组末尾以'\0'结束,你在定义个char数组时一定要给结束符预留空间。hello占5个字节,所以你的char数组至少要6个字节,一个要留给系统自动添加的'\0'。你也可以自己添加结束符,例如:char buffer[6]={'h','e','l','l','o','\0'};sizeof(buffe原创 2011-11-26 21:31:00 · 7530 阅读 · 0 评论 -
关于C++里面getline的四个困惑的问题
文件:C:\\Users\\Administrator\\Desktop\\sourcedata\\bj922690.08O对文件的说明:每行80个字节 困惑1 and 困惑2如下代码:ifstream ifile("C:\\Users\\Administrator\\Desktop\\sourcedata\\bj922690.08O");char buffer[75];原创 2011-11-26 22:21:18 · 1351 阅读 · 0 评论 -
C++中读取行的解决方案
http://bbs.51cto.com/thread-821736-1-1.htmlhttp://wenku.baidu.com/view/64f70a1da300a6c30c229fa5.html转载 2011-11-26 22:36:09 · 607 阅读 · 1 评论 -
vector的使用
vector vs; string str; while(cin>>str) //回车,CTRL+Z结束 { vs.push_back(str); } vector::iterator ite = vs.begin(); while(ite!=vs.end()) { cout ite++; }原创 2011-11-26 23:59:42 · 462 阅读 · 0 评论 -
使用stringstream时需要注意的一点
如果你想通过使用同一stringstream对象实现多种类型的转换,请注意在每一次转换之后都必须调用clear()成员函数,例如://程序名:teststream3.cpp //功能:使用同一stringstream对象实现多种类型的转换 #include #include // system()#include #include using name转载 2011-11-27 01:01:00 · 743 阅读 · 0 评论 -
编译错误了:”=”的左操作数必须是左值的解释
也许有的人在编写代码的时候写过这种代码:#include "iostream.h"int main(){ int x; 1=x; coutreturn 0;}当然会编译错误了:说”=”的左操作数必须是左值;当然大家想想也都能明白: 赋值操作符的作用是把右边的数赋值给左边,而此时左边是个常量,那么赋值当然不会成功;转载 2011-11-27 01:47:43 · 23271 阅读 · 0 评论 -
C++和C#中数组的比较
1.C++中定义数组的时候要么全部赋值,要么指定元素个数,不能直接写成这样:double array[][]; 但C#里面是可以这样写的,double[,] arry; 2.C++里面不能直接将一个数组赋值给另一个数组,但C#里面可以。 C++中:double a[6];double b[6]={0,2,3,4,5};a=b;这样写时错的。 C#中:d原创 2011-11-27 01:52:02 · 1443 阅读 · 0 评论 -
关于C++里面折叠代码的两招
1.想折叠一块区域,则: #pragma region[comment1] #pragma endregion[comment2]2.可能当前页中有很多有折叠符号的地方,如果你想很快地将所有的可折叠处都折叠,那么快捷键:CTRL+M,再跟一个CTRL+O。原创 2011-11-27 01:11:39 · 3825 阅读 · 0 评论 -
C++中怎样得到PI
直接定义:double const PI=3.14159265;或定义宏:#define PI 3.14159265 (末尾没有分号的哈)通过反三角函数求的: double const PI = acos(double(-1)); //这里得到的是3.14159原创 2011-11-27 23:21:29 · 15046 阅读 · 2 评论 -
Stack Overflow
定义了一个二维数组: double OBS[864000][25]。运行报错:Stack Overflow。解决办法有两条:1.参考:http://blog.csdn.net/tianhai110/article/details/20551782.使用动态分配地址,参考:http://apps.hi.baidu.com/share/detail/31546057原创 2011-11-28 16:12:02 · 1030 阅读 · 0 评论 -
解决方案:静态成员对象的声明在头文件中,函数代码在另外一个文件中,提示链接错误
静态成员变量不属于类,而是属于文件 在类中声明 class CScene { private: …… static vector * MC; public: …… }; 以后,还必须在cpp文件中进行定义: vector * CScene :: MC;原创 2011-11-28 22:04:26 · 1108 阅读 · 0 评论 -
类似于“vc80.idb 不是创建此预编译头时使用的 idb 文件,请重新创建预编译头”的解决方案
1、关于预编译错误 fatal error C1083: Cannot open precompiled header file解决方法,一般在属性-》c/c++ ->预编译头中-》不适用预编译头 详细解释:http://panpan.blog.51cto.com/489034/1043972、修改预编译文件(一般是stdafx.h和stdafx.cpp),就会出现预编译错转载 2011-11-28 22:00:29 · 3301 阅读 · 0 评论 -
getline(iflie,data)判断文件结尾
C++中使用getline()时判断是否读到文件尾的方法:ifstream ifile("1.txt");string data;while(!ifile.eof()){getline(ifile,data);}在C#中用ReadLine()函数读行的时候,若读到了最后一行,则reader.ReaLine()=“”;所以C#里面这样判断:string data原创 2011-11-28 23:34:21 · 7978 阅读 · 0 评论 -
这个递归哪有问题?
int main(){ string data ="134D00D00444"; string bb = mytest::Replace(data,"D","E"); cout getchar(); return 1;}string mytest::Replace(string ss,string s1,string s2){ int index原创 2011-11-30 23:13:51 · 508 阅读 · 0 评论 -
QT开发者
http://qt.csdn.net/articles.aspx?pointid=5&pointid2=原创 2011-12-14 00:12:49 · 758 阅读 · 0 评论 -
在VS2008中使用QT编程
http://mobile.51cto.com/symbian-267718.htm转载 2012-07-14 13:29:06 · 454 阅读 · 0 评论 -
C++中提示更新程序数据库vc90.pdb
什么是PDB文件:http://www.cnblogs.com/Ihaveadream/archive/2008/05/29/1210252.html解决办法:1.C\C++ | General | Debug Information format | C7 Compatible (/Z7) C/C++ 常规 调试信息格式 使用 C7 兼容转载 2012-07-14 14:35:01 · 573 阅读 · 0 评论 -
Windows下搭建QTCreator、minGW
http://bbs.21ic.com/icview-281444-1-1.html转载 2012-07-15 16:52:18 · 639 阅读 · 0 评论 -
BSTR,_bstr_t
BSTR:是一个COM字符串,与编程语言无关。_bstr_t:是C++对BSTR的封装。原创 2012-07-17 10:40:38 · 547 阅读 · 0 评论 -
ifstream ifile("中文路径")
ifstream ifile("中文路径");char buffer[81];ifile.getline(buffer,81,'\n');buffer一直为空。原因是使用了中文路径,改为英文路径则不存在问题了!是不是我选择字符集选的ascii,要用unicode才能支持中文。或者使用其它的方法,使fstream支持中文路径:http://www.cppblog.com/goha原创 2011-11-26 20:54:41 · 3244 阅读 · 0 评论 -
C++中string的连续加法需要注意的一个地方
C++中的string重载了+,+=,但是在进行连加的时候有一个限制,就是连加的时候前两项中必须有一项是string类型。例如: string a="a"+"b";//编译不通过,因为两项都是const char*,而const char*并没有重载+. string b="b";string a="a"+b;//编译通过,因为b为string,系统遇到+,会把cons原创 2012-08-04 16:13:00 · 6481 阅读 · 3 评论 -
C++类别转换之char*与string的互转换
(1)char *转换到string: char *cs= "char* "; string s=cs; //use the string 's constructor to do it (2)string转换到char*: string s= "string "; char *cs=s.c_str();原创 2012-08-05 09:54:40 · 797 阅读 · 0 评论 -
C++中获取本地时间年月日时分秒
time_t tt; time(&tt); struct tm *p; p=localtime(&tt); couttm_year+1900tm_mon+1tm_mdaytm_hourtm_mintm_sec;原创 2012-08-05 11:50:19 · 3161 阅读 · 1 评论