在fget之前进行扫描

问题描述 投票:0回答:1

我使用一个

scanf("%d%d",&row,&col); // row & col is int

之前

fgets(buf, MAXLEN, stdin); //MAXLEN == 65535 ; buf is char  

我想在输入行和列之后输入buf

但fgets将被跳过

有人可以帮我吗?

c scanf
1个回答
0
投票

This issue can arise,如果您输入的内容位于两行中。 scanf()将在缓冲区中保留换行符;当fgets()尝试读取输入的其余部分时,它将接收换行符并停止读取。以下可能会修复您的代码:

scanf("%d%d\n", &row, &col);

这也将读取换行符,其余部分留给fgets()

© www.soinside.com 2019 - 2024. All rights reserved.