在c++中,如何把一个文本文件的前10行复制到一个新的文件中?
展开全部
在这里,我用的是fstream,记得加入#include <fstream>
有注释,很简单的
VC6编译通过。。。
bool copy_10(const char *src_path,const char *new_path)
{
ifstream src_file(src_path);
ofstream new_file(new_path);
if(!src_file || !new_file)
return false;
char *src_buf=new char[256];
unsigned char n=0;
while(src_file.good() && !src_file.eof() && n<10)//循环10次,读取前10行
{
memset(src_buf,0,256);//清空缓冲区
src_file.getline(src_buf,256);//获取一行数据
new_file<<src_buf<<endl;//写入新文件
n++;
}
src_file.close();
new_file.close();
delete src_buf;
return true;
}
有注释,很简单的
VC6编译通过。。。
bool copy_10(const char *src_path,const char *new_path)
{
ifstream src_file(src_path);
ofstream new_file(new_path);
if(!src_file || !new_file)
return false;
char *src_buf=new char[256];
unsigned char n=0;
while(src_file.good() && !src_file.eof() && n<10)//循环10次,读取前10行
{
memset(src_buf,0,256);//清空缓冲区
src_file.getline(src_buf,256);//获取一行数据
new_file<<src_buf<<endl;//写入新文件
n++;
}
src_file.close();
new_file.close();
delete src_buf;
return true;
}
展开全部
每次读入一行就可以.
fp1 和fp2是打开的两个文件指针.
char s[1024];
int i;
for(i = 0; i < 10; i ++)
{
fgets(s, sizeof(s), fp1);
fputs(s, fp2);
if(s[strlen[s] -1] != '\n') i--;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fopen打开文件,fread读文件,当有读到0x0D0x0A时证明读了一行,以此一直读下去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先读取,然后遇回车符判断
追问
关键是前10行是怎么实现的啊?
追答
循环读取,到10行就退出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询