我创建了一个代码,根据行将句子从文件传输到数组中。 例如:
char ** Sentences[2]
Sentences[0]="hello ola hiya howdy"
Sentences[1]="chips fries"
我需要将每一行分成单词(我已经有一个就绪函数来执行此操作,并将输出存储到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);
}
我得到的输出是:
您好 OLA 你好 你好 埃坦 eitanon eitanya
但如果我打电话
printer(*(pointer[0]),3);
在for之外,我得
eitan
eitanon
eitanya
而不是第一个单词(这意味着Temp不分配内存)? 我将非常乐意提供帮助。
答案 0 :(得分:0)
对于一个句子,你只需要一个char指针或一个char指针数组来存储多个句子。