leileimao,
对于你的这个问题,你要清楚两点, 第一, ios::trunc 的作用是什么以及其用法, 第二,为何输出的是一些乱码。
首先来说第二点,之所以出现乱码,是因为你对输出格式没理解,代码稍加改动,马上就可以正确输出, 将 cout<<"Error
occurred while opening f:\vc\vc++\1.c"<<endl;
改为cout<<"Error occurred while opening
f:\\vc\\vc++\\1.c"<<endl; 就可以了。
再来说第一点, 下面给你个连接,看完它,我想你自然就理解 ios::trunc 的用法了。
http://www.roguewave.com/support/docs/sourcepro/html/stdlibug/30-3.html
下面给出一个 Example:
#include<iostream>
#include<fstream>
#include<cstdlib>
using namespace std;
int main()
{
fstream open_mode;
// 假定你有一个文件为 text1.txt 在程序文件的目录下,在text1.txt 中请你预先写点东西
open_mode.open("text1.txt", std::ios_base::out | std::ios_base::trunc);
if(!open_mode)
{
cout<<"Error occurred while opening f:\\vc\\vc++\\1.c"<<endl;
abort();
}
open_mode<<"componentware Method and Neural Network."<<endl;
open_mode.close();
system("pause");
return 0;
}
// 程序运行完毕后请你看一下那个 text1.txt 中的内容,我想你现在应该明白了。