我创建了一个代码,它根据行将句子从文件转移到数组中。例如:
char ** Sentences[2]
Sentences[0]="hello ola hiya howdy"
Sentences[1]="chips fries"
我需要将每一行分隔成它的字(我已经有了一个ready函数,它可以做到这一点,并将输出存储到char **
数组中。我想通过创建一个指向这些数组的指针数组来存储所有单词数组(在本例中,每个句子为2,1)。我很高兴知道它是如何完成的。我还需要使用malloc创建一个临时数组,并存储其中的单词,以便每次都动态创建数组。
顺便说一句,我可以使用char*数组并将创建的数组存储在其中吗?
我会非常高兴得到一个解决方案。
编辑:我创建了一个内存分配数组,但它一直覆盖自己:
char ** Temp=NULL;
char **pointer[ir];
for (Note = 0; Note < ir; ++Note) {
Temp=malloc(Count(' ',Sentences[Note])*sizeof(char *));
int ifd=StoreArr(Sentences[Note],Temp," ");
pointer[Note]=&Temp;
printer(*(pointer[Note]),ifd);
}
我得到的输出是:
你好olahiyahowdyeitaneitanoneitanya
但如果我打电话给
printer(*(pointer[0]),3);
除了,我得到
eitan
eitanon
eitanya
而不是第一个字(这意味着Temp不分配内存)?我将非常乐意得到帮助。
对于一个句子,您只需要一个char指针或char指针数组来存储多个句子。