将文件中字符串(长度24880)存入新的文件长度为10000
现有文件中含有44行(Individual),每行的长度是(字符串)24880,但是计算的程序最多能处理1000(行)*10000(每一行的长度)下面是我编写的vc程序。1.当n我设置成1000时候 程序还运行 但是当设置成10000时候程序都没有输出了
2.怎么把每个字符串切割成10000存入新的文本文件
谢谢!
#include <stdio.h>
#include <string.h>
#define n 10000
void main()
{
FILE * fp,* p;
char mystring [1000]={0},mid;
int i,j,Individual=0,snp=0;
if((fp=fopen("myfile.txt","r"))==NULL)
{
printf("Can not open the file!\n");
}
while(!feof(fp))
{
mid=fgetc(fp);
if(mid=='\n')/*计算该文件有多少个体*/
Individual++;
if(mid!='\n')
snp++;
}
snp=snp/Individual;/*计算该文件每个个体有多少个snp位点*/
printf("%d %d ",Individual,snp);
fclose (fp);
if ((fp = fopen("myfile.txt","r"))==NULL)
{
printf("cannot open this file\n");
}
else
{
for(i=0;i<Individual;i++)
{
if ( fgets (mystring , n , fp) != NULL )
puts (mystring);
p = fopen ("my.txt" , "w");
fprintf(p,"%s",mystring);
}
fclose(fp);
}
}