【发布时间】:2015-04-16 17:34:11
【问题描述】:
对于我的作业,我必须读入一个包含不同行数的文本文件。它们遵循以下格式:
AACTGGTGCAGATACTGTTGA
3
AACTGGTGCAGATACTGCAGA
CAGTTTAGAG
CATCATCATCATCATCATCAT
第一行是我将测试以下行的原始行,第二行给出剩余行数。
我在尝试将这些保存到结构时遇到问题,甚至无法保存第一行。我尝试将 void 函数与数组一起使用,它似乎可以工作,但似乎无法将其转移到结构中。
到目前为止,这是我的代码:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define LENGTH 25
struct dna {
char code[LENGTH];
};
int main(){
char filename[] = "input1.txt";
FILE *input = fopen("input1.txt","r");
char firstDna[LENGTH]="";
struct dna first;
struct dna first.code[]= "";
makeArray(input,first);
// printf("%s",filename);
system("pause");
return 0;
}
void makeArray(FILE *input,struct dna first){
int i=-1;
//nested for loops to initialze array
//from file
while(i != '\n'){
fscanf(input,"%c",first[i].code);
printf("%c", first[i].code);
i++;
}//closing file
fclose(input);
}
【问题讨论】:
-
是否有理由需要使用结构?在这种情况下,将其存储在 char 数组中会更有意义。您的代码也存在其他问题,但让我们从这个开始。
-
唯一的原因是为了获得额外的荣誉,我想尝试掌握它,但除此之外,char 数组也可以工作! @PandaConda
-
首先,这将无法成功完成编译。
-
@BLUEPIXY 我知道,我只是对这一切感到完全困惑。
-
实际片段大小在
24碱基上似乎非常小。这个限制是作业的一部分吗?分配中是否指定了struct dna?