我发现的Borland C++ Builder 4/5的Bug!
//Borland C++ Builder(以下简称BCB) 4(命令行方式) V.s Dev-C++4
#include <iostream>
#include <string>
using namespace std;
void main()
{ string str1;
str1="一个男人的眼泪";
str1.resize(30,' ');
string str2(30,'!');
cout<<str1<<'*'<<endl;
cout<<str2<<'*'<<endl;
}
结果:
str1,str2长度应该一样。Dev-C++正确显示;BCB 4发生错误:估计是对中文支持得不好。选用BCB 5,结果正确。
在机器上删除了BCB 4,安装BCB 5,调试过程中又出现一个问题:
//一个复制文本文件的程序:
//BCB 5(命令行方式) V.s Dev-C++4
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void main()
{ ifstream TTT("c:\\temp\\a.txt");
ofstream BBB("c:\\temp\\b.txt");
string str;
while(getline(TTT,str))
BBB<<str<<endl;
}
结果:任意在a.txt中间写点东西,运行后察看b.txt,DEV-C++复制结果正确,BCB 5则在每一行的末尾多出来一个空格!
我手头没有BCB6,哪位有的话帮我测试一下,看看BCB6是否正确处理!谢谢!