我的计划中缺乏对EOF和换行符的强健性

时间:2017-10-04 16:06:32

标签: c linked-list

我有以下结构,使用 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,字符,计算机就会开始挂起。

附加部分在数字上进行了测试,似乎完全正常。即使存储字符串,只要Enterctrl+D 按下,就可以正常运行

有谁能告诉我如何纠正这个问题?

0 个答案:

没有答案