用2D字符数组实现C语言中的串接

用2D字符数组实现C语言中的串接,c,char,concatenation,dna-sequence,C,Char,Concatenation,Dna Sequence,我正在将文本文件逐行读取到2D数组中。我想连接字符数组,所以我有一个长字符数组。我在这方面遇到了麻烦,我可以让它与两个字符数组一起工作,但当我尝试做很多时,我会出错 当前,字符数组如下所示: AGCTTTTCATTC AGCTTTTCATTCAGCTTTTCATTC 我想得到这样的东西: AGCTTTTCATTC AGCTTTTCATTCAGCTTTTCATTC 我已经加入了我的一些代码 int counter = 0; fid = fopen("dna.fna","r"); whil

我正在将文本文件逐行读取到2D数组中。我想连接字符数组,所以我有一个长字符数组。我在这方面遇到了麻烦,我可以让它与两个字符数组一起工作,但当我尝试做很多时,我会出错

当前,字符数组如下所示:

AGCTTTTCATTC
AGCTTTTCATTCAGCTTTTCATTC
我想得到这样的东西:

AGCTTTTCATTC
AGCTTTTCATTCAGCTTTTCATTC
我已经加入了我的一些代码

int counter = 0; 
fid = fopen("dna.fna","r");
while(fgets(line, sizeof(line), fid) != NULL && counter!=66283 ) {
    if (strlen(line)==70) {
        strcpy(dna[counter], line);        
    counter++;
    }
}
int dnaSize = 6628; 
//Concatenating the DNA into a single char array.
int i;
char DNA[dnaSize];
for(i = 0; i<66283;i++){
   strcpy(DNA[i],dna[i]);
   strcat(DNA[i+1],dna[i+1]);
}
int计数器=0;
fid=fopen(“dna.fna”,“r”);
while(fgets(line,sizeof(line),fid)!=NULL&计数器!=66283){
if(strlen(line)==70){
strcpy(dna[计数器],行);
计数器++;
}
}
int dnaSize=6628;
//将DNA连接成单个字符数组。
int i;
半焦DNA[dnaSize];

对于(i=0;i您只需要循环到
那么,您是在复制还是连接?您只需要执行其中一个操作

我建议在循环中使用strcat,但要初始化DNA

char DNA[dnaSize] = ""; //initalise so safe to pass to strcat
for(i = 0; i<counter;i++)
{
   strcat(DNA,dna[i]); //no need for indexer to DNA
}

-很抱歉,我不得不平衡这个问题的分数。在我看来,它缺乏研究努力。我认为如果你仔细阅读
strcpy
strcpy
,你自己就可以做得更进一步。P.S.会很高兴看到
dna
的定义,因为这也可能使用了第一个
strcpy
错误。