我有以下结构,使用 C -
在终端中实施text editor
typedef struct word
{
char w[15];
struct word *next, *prev;
}WORD;
和
typedef struct text
{
WORD *r;
int no_of_words;
}TEXT;
以下是功能,可帮助我存储所有输入的单词 -
void type()
{
TEXT t;
init(&t);
char a[10] ="\0",b='\0';
int i = 2;
while(b != EOF)
{
while(b!=' '&& b != EOF)
{
b = getch();
if(b!=EOF)
{
a[i-2] = b;
a[i-1] = '\0';
}
i++;
}
append(&t,a);
i=2;
}
}
我在这里遇到的问题是,如果我按Enter
键或使用EOF
调用ctrl+D,
字符,计算机就会开始挂起。
附加部分在数字上进行了测试,似乎完全正常。即使存储字符串,只要Enter
或ctrl+D
不按下,就可以正常运行。
有谁能告诉我如何纠正这个问题?