编程日志

来源:互联网 发布:北京理工大学知乎 编辑:程序博客网 时间:2024/05/16 06:06

2011/07/01

iofstream用法注意:

打开文件用open函数,清楚错误状态用clear函数,关闭文件用close函数。

ifstream读完一个文件之后要clear并close,否则同一个ifstream对象无法继续处理其他文件,如下所示:

ifstream iff;

iff.open(strPath + "result.txt");

string str;
while(iff>>str)
{
  ::AfxMessageBox(str.c_str());
}

//iff.clear();

//iff.close();

iff.open(strPath + "result2.txt");

string str;
while(iff>>str)
{
  ::AfxMessageBox(str.c_str());
}

//iff.clear();

//iff.close();

这样会使iff读完第一个文件后一直处于eofbit状态,从而不能读取第二个文件。

ofstream一般用完后只用close函数关闭即可。

2011/07/03

(1)宏定义用大写字母加下划线表示,如MAX_LENGTH;

(2)函数用大写字母开头的单词组合而成,如SetName, GetName ;

(3)指针变量加前缀p,如*pNode ;

(4)BOOL 变量加前缀b,如bFlag ;

(5)int 变量加前缀i,如iWidth ;

(6)float 变量加前缀f,如fWidth ;

(7)double 变量加前缀d,如dWidth ;

(8)字符串变量加前缀str,如strName ;

(9)枚举变量加前缀e,如eDrawMode ;

(10)类的成员变量加前缀m_,如m_strName, m_iWidth ;

对于int, float, double 型的变量,如果变量名的含义十分明显,则不加前缀,避免烦琐。如用于循环的int 型变量i,j,k ;float 型的三维坐标(x,y,z)等。

 

写判断语句的时候先写判断值,如if(3 == i),这样可以避免误写成赋值语句的错误:if(i = 3)


2011/08/04

vc里的BOOL是int类型的:

typedef int BOOL; 

而非c++中的bool类型,所以不能从BOOL类型隐式转换为bool类型(坑爹啊!)

另外,在vs2005版本中通过classwizard给一个类添加重载的消息处理函数(例如重载CWnd::OnSize())时,需手动在MESSAGE_MAP消息映射宏定义中添加消息映射(例如ON_WM_SIZE()),而类向导不会自动添加。

 

原创粉丝点击