我在 Unix 中工作,我应该首先通过重定向读取文本,然后要求用户输入特定字符并计算它在字符数组中出现的次数。
const int MAX = 8000;
int input = 1;
int i = 0;
char text[MAX], letter;
while(input != 0)
{
scanf("%c", &text[i]);
if(text[i] == '0')
input = 0;
i++;
}
printf("\n%s",text);
printf("\nEnter a letter to search for in the text: ");
scanf("%c", &letter)
Run Code Online (Sandbox Code Playgroud)
目前,我正在通过重定向打印正确的文件,但是我的第二个文件scanf被跳过。我使用以下命令重定向文件:./a.out < filename.txt。
如果我尝试打印该字符,letter那么它将不会产生任何结果。\n它必须仍然从文本文件的空行中读取。如何阻止scanf读取同一文本文件并让我在控制台中从键盘输入字母?作为一项作业,我必须使用该命令./a.out < filename.txt。