提供一种按行截取文件的办法,是将文本文件保存在字符串数组,在用指针遍历。
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#define PATH "C:\\Users\\Administrator\\Desktop\\test\\总.XML" //我的文件路径
void main()
{
FILE *fp;
char str[1024][70]; //分配1024行,每行70个字符。
int i,nNumber; //nNumber记录实际行数
i=nNumber=0;
if ( fp=fopen(PATH,"r") )
{
fgets(str[i],70,fp);
while ( !feof(fp) )
{
nNumber++; i++;
fgets(str[i],70,fp);//将文件按行读进数组
}
fclose(fp);
}
int p=0;
int start=0; //标记每次找到的位置
int j=0;
int k=0;
char gap[80]="<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
for(p=0;p<nNumber;p++)
{
if(0==strcmp(str[p],gap))
{
//printf("find");
for (k=start;k<p-1;k++)
{
printf("%s",str[k]);
}
start=p;
}
}
for (k=start;k<nNumber-1;k++)
{
printf("%s",str[k]);
}
system("pause");
}