关于文件操作的问题,不懂
程序代码:
#include<stdio.h>
#include<stdlib.h>
void PreTreat();//预处理 处理奇偶行 合并两个文件 结果放在PreIndex文件里面
void Index(int);//真正开始制作索引
int main(){
PreTreat();
int k;
printf("请输入k-mer的k\n");
scanf("%d",&k);
//Index(k);
return 0;
}
void PreTreat()
{
int i;
char ch;
FILE *fIndex,*fSource1,*fSource2;
fIndex = fopen("I:\\PreIndex.fa","w");
if((fSource1 = fopen("I:\\c实验\\faa.fa","r"))==NULL){//文件1
printf("Can't open the solexa_100_170_1.fa!\n");
getchar();
exit(-1);
}
char str[150];
for(i=0;i<3;i++){//处理文件1 的 500000条
while((ch=fgetc(fSource1))&&(ch<'A'||ch>'T'));
fgets(str,150,fSource1);
printf("%s", str);
fputs(str,fIndex);
}
fclose(fSource1);
fclose(fIndex);
}我不明白,按照执行的结果分析,好像是在while里一直执行到不满足后一个条件,即字符不是ATCG然后才开始执行下面的输出,while可以这样用吗???
还有,为什么我读入的不管多少,最后都只会读入100个?????
求指点[local]1[/local]









