Как изменить строку WHILE на языке C, используя getche, язык C?
Я написал код для поиска строки среди группы строк, но в отличие от того, что мы должны вводить всю строку перед поиском, этот код сортирует совпадающие строки вместе с вводом каждой буквы, как в поиске 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;
}