例如,用户输入了 3 行条目,我想将它们拆分为一个单词并将它们存储在 char 数组中。
条目:
Banana apple kiwi cherry\n
horse car blue jacket\n
bla bla bla ^d
条目可能包含更多或更少的行。我不知道条目中有多少个字。我只知道条目以 EOF 结尾,我需要将所有单词存储在一个数组中。你能帮帮我吗?
#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;
}
这对我有用。
我是一名优秀的程序员,十分优秀!