例如,用户输入了3行条目,我想将它们分割为单词并将它们存储在char数组中。
项:
Banana apple kiwi cherry\n
horse car blue jacket\n
bla bla bla ^d
该条目可能包含更多或更少的行。我不知道条目中有多少单词。我只知道EOF的入口结束,我需要将所有单词存储在一个数组中。你能帮帮我吗?
答案 0 :(得分:-1)
#include <stdio.h>
#include <stdlib.h>
int main(){
char *big=malloc(256);
int c; long n=0,t=255;
printf("Enter something very long: ");
while ((c=getchar())!=EOF) {
if (n>=t) {
big=realloc(big,t+256);
t+=256;
}
big[n]=c; ++n;
}
big[n]='\0';
puts(big); // using puts as it's faster than printf
// or printf("%s",big);
free(big);
return 0;
}
这对我有用。