- 博客(13)
- 收藏
- 关注
原创 有趣的错误
这段程序strPathName="C://MyCalendar//todolist.txt";FILE *pFile=fopen(strPathName,"r");int count=0;fscanf(pFile,"%d",&count);char* str;CString tmp;for (int i=0; i{ fscanf(pF
2008-05-06 10:12:00 251
原创 txt文件读写
保存文件FILE *pp1;pp1=fopen("train.txt","w");for ( i=0; i{ for( j=0; j { fprintf( pp1, "%f/n", train[i][j]);}}fclose(pp1); pseita=
2008-05-06 10:10:00 354
原创 在Dialog中用CListBox要注意啦
看MSDN是非常重要的,不过因为自己很懒,经常直接到网上找代码,所以没养成这个好习惯,这个程序是在一个Dialog中放了一个CListBox控件,我在Dialog的构造函数中进行了如下操作,m_nListBox.AddString(str),当然啦,得先将List跟m_nListBox绑定起来,m_nListBox是CListBox类型的,结果就一直报错,可能因为我是直接学习MFC又没怎么学好,在
2008-05-06 10:09:00 619
原创 unresolved external symbol "public: __thiscall CMyEditDlg::CMyEditDlg
今天把我的工程改来改去,结果出现了这种错误,我很奇怪,发现ClassView中,我的CEditDlg不见了,我就用Add Project加进去了,结果就好了
2008-04-25 11:29:00 647
原创 同时显示两个Dialog
首先在Resource View中insert一个Dialog,用默认的ID:IDD_DIALOG1,用classwizard为它生成一个类叫CDialog1,在主Dialog中也就是CMyDialog中添加一个成员变量CDialog1* m_pDlgDisplay;然后在BOOL CMyDlg::OnInitDialog()中添加m_pDlgDisplay=new CDialog1;
2008-04-25 09:06:00 2757
原创 右键弹出菜单
今天需要增加一个右键弹出菜单的功能,把方法详细的记录下来首先,如果不想点击右键出现MFC自己的MAINMENU的话,就insert一个新的Menu,其ID就用默认的IDR_MENU1,然后添加OnRButtonDown响应(用OnRButtonUp也可以的),我想在一个Dialog上面右键,让其显示菜单,所以是在CMyDialog中添加的OnRButtonDownvoid CShowDlg
2008-04-24 16:37:00 317
原创 对CString进行分割
因为今天用到字符串分割的问题,把算法做个记录CString str="what you should do?MFC?Today";我想得到3个字符串what you should do,MFC,Todayint index=str.Find(?);CString subStr1=str.Left(index);str=str.Right(str.GetLength()-in
2008-04-23 16:08:00 531
原创 定位new
static_cast是静态类型转换,例子static_cast(欲转换的指针)将欲转换的指针类型变为void*, 不过如果这么写应该是什么意思呢?new (static_cast(&*beg))VT(value)beg是容器的迭代器,VT是一种类型,可以是int等内部类型,也可以是自己定义的class我绞尽脑汁终于觉得new () **这个形势怎么这么眼熟呢,一拍大腿,原
2008-04-18 14:46:00 255
原创 Input迭代器的疑惑
书中写到Input迭代器只能一次一个向前读取元素,按此顺序一个个传回元素值。Input迭代器只能读取元素一次。如果你复制Input迭代器,并使原Input迭代器和新产生的副本都向前读取,可能会遍历到不同的值。如果两个Input迭代器占用同一个位置,则两者相等。但是,正如上面所说,这并不意味它们存取元素时能够传回相同的值。 真是不理解啊!
2008-04-15 15:24:00 360
原创 VS2005误报(map,pair)
class AddValue{private: int theValue;public: AddValue (const int& v):theValue(v){ } void operator() (pair& elem) const{ elem.second += theValue; }};int main(){ typedef map StringFloatMap; Strin
2008-04-15 13:50:00 341
原创 ++obj与obj++
通常我们在使用for循环语句时,都会写for(int i=0; ilist::iterator pos; for (pos=coll.begin(); pos!=coll.end(); ++pos){ .......... }前置式递增比后置式递增效率高,因为后置式需要一个额外的临时对象,因为它必须存放迭代器的原本位置并将它返回,所以一般情况下最好使用++pos不要用pos++看一
2008-04-11 10:10:00 794
原创 auto_ptr
在看C++标准程序库关于auto_ptr时,产生了一些疑惑,因为自己的C++水平着实有限,所以可能导致理解不充分,不过我还是要将自己的疑惑和解释写一下,说不定对刚刚开始学习STL的人有用。在书的43页说,可以运用constant reference,向函数传递拥有权,来使constant reference无法交出拥有权。我在理解这些的时候感到很困惑,随后的例子让我更加困惑const st
2008-04-10 11:02:00 275
原创 typename
在template中会经常遇到这个关键字, 它有两种用法:1. typename可在template声明中用来替换关键字class:以前我一般都这样写:template class MyCls;其实可以 :template class MyCls;Meyer说,这两句话中的class和typename没有任何不同,只不过typename暗示参数并非一定得是一个class
2008-04-09 13:58:00 276
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人