如何清空通过ifstream打开的文件!!在线等!!急
我用fstream打开了一个既可输入又可输出的文件,但是文件只会变长。
如何在打开后将文件清空?
问题点数:20、回复次数:6Top
1 楼fangrk(加把油,伙计!)回复于 2004-12-01 18:57:33 得分 8
fstream t("a.txt",ios_base::in|ios_base::out|ios_base::trunc);Top
2 楼xu233(飞天)回复于 2004-12-01 19:03:39 得分 4
用fflush( FILE *);这个函数,但是前提条件是你打开文件时要加'w'属性打开。
下面是个例程:
#include <stdio.h>
#include <conio.h>
void main( void )
{
FILE *stream;
char list[30];
int i, numread, numwritten;
/* Open file in text mode: */
if( (stream = fopen( "data2", "w+t" )) != NULL )
{
printf("Open file successfully ");
}
else
printf( "Problem opening the file\n" );
fflush( stdin );
fclose(stream) ;
}Top
3 楼xu233(飞天)回复于 2004-12-01 19:08:35 得分 0
我是不是好像说错了?好像与楼主的问题不搭界了:(Top
4 楼questionboy(我行我素)回复于 2004-12-01 19:26:40 得分 4
fangrk(加把油,伙计!) 回答的是正確的,ios_base::trunc代表清空文件,ios_base::app是在文件末尾追加信息Top
5 楼chinadragonss(独孤俊)回复于 2004-12-01 19:35:23 得分 4
一楼的正解。
fstream t("a.txt",ios_base::in|ios_base::out|ios_base::trunc);
ios::trunc (truncate) Truncate file to zero when opening.Top
6 楼Jaogoy(想你)回复于 2004-12-01 22:49:34 得分 0
我翻了一下C++的书,是trunc
不过还是谢谢你们Top




