該代碼讀取文件中的字符並計算字符長度。我如何從第二行讀取並忽略從第一行讀取?如何從C的第二行讀取字符串文件?
這是我的代碼部分:
int lenA = 0;
FILE * fileA;
char holder;
char *seqA=NULL;
char *temp=NULL;
fileA=fopen("d:\\str1.fa", "r");
if(fileA == NULL) {
perror ("Error opening 'str1.fa'\n");
exit(EXIT_FAILURE);
}
while((holder=fgetc(fileA)) != EOF) {
lenA++;
temp=(char*)realloc(seqA,lenA*sizeof(char));
if (temp!=NULL) {
seqA=temp;
seqA[lenA-1]=holder;
}
else {
free (seqA);
puts ("Error (re)allocating memory");
exit (1);
}
}
cout<<"Length seqA is: "<<lenA<<endl;
fclose(fileA);
直到遇到'\ n'字符後纔讀取字符,然後在第二行讀取。 – nhahtdh 2013-05-04 17:13:40
從第二行讀取的唯一方法是讀取第一行並忽略它,然後繼續讀取第二行和後續行並根據需要處理它們。考慮使用'fgets()'。 – 2013-05-04 17:33:10
你的代碼幾乎是C,唯一的C++工具是'cout'。你應該堅持兩種語言。 – Zeta 2013-05-04 17:46:21