我试图存档的是
步骤1:询问用户他/她是否想要继续使用方法1或2(输入相应的整数)
步骤2.1:如果方法1,输入字符串
步骤2.2:如果方法2,请阅读文件
问题是第1步有效,当它进入第2步时会中断。我想在输入整数后,"输入"按钮保存在缓冲区中,从而导致程序中断。我搜索过但我无法找到通过此方法的方法。
同样在步骤2.2:从文件中读取字符串,但忽略空白之后的所有内容。
我有什么想法可以通过它吗?
int main()
{
int i,input1;
char str[STRSIZE], buf[1024];
FILE *fr;
printf("Would you like to?\n");
printf("Option 1. File 2. Input:");
scanf("%d",&input1);
switch(input1)
{
case 1:
fr=fopen("foo.txt","r+");
fscanf(fr,"%s",str);
printf("String from the file %s",str);
break;
case 2: printf("Enter the String: ");
if (fgets(str, sizeof str, stdin)!= NULL)
{
char *newline = strchr(str, '\n'); /* search for newline character */
if ( newline != NULL )
{
*newline = '\0'; /* overwrite trailing newline */
}
}
}
}