如何用C语言修改字符串WHILE输入,使用getche,C语言?

时间:2017-06-03 16:03:08

标签: c string backspace

我编写了一个用于在一组字符串中搜索字符串的代码,但不像我们必须在搜索之前输入整个字符串,此代码将匹配字符串与我们输入每个字母进行排序,就像在Google搜索中一样。但我不知道如何退格字符串条目,因为它逐个字符地接受字符串。 只有C语言!运行一次代码以更好地理解。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char string[10];
    char s[5][10];
    int i, j, k;
    int e[5];
    char g;

    printf("\nEnter 5 Strings\n");

    //Enter 5 to search from
    for(i=0;i<5;i++)
    {
        printf("%d. ", i+1);
        scanf("%s", &s[i]);
        e[i]=1;
    }

    j=0;
    do
    {
        system("cls");
        printf("\nResults: ");
        for(k=0;k<5;k++)
        {
            if(e[k]==1) //String displays if not striked by Input
                printf("\n%s", s[k]);
        }

        printf("\n\nEnter Search String: ");
        for(i=0;i<j;i++)
        {
            printf("%c", string[i]);
        }
        g = getche(); // Character Input
        string[j]=g;  // Character stored in string to compare
        for(k=0;k<5;k++)
        {
            if(strncmp(string, s[k], j+1)!=0)
                e[k]=0; //Used so if character doesn't match, string 
                          eliminates
        }
        j++;

    }while(g!='\r');

    return 0;
}

0 个答案:

没有答案