while((ch = getchar()) != '\n')
continue;
给这项功能写在函数里 再调用 为何不起作用啊 经测试一个输入都没清掉 而 直接用这段代码就没问题
c语言清除一行剩余输入问题
答案:2 悬赏:40 手机版
解决时间 2021-02-26 23:29
- 提问者网友:疯孩纸
- 2021-02-26 09:21
最佳答案
- 五星知识达人网友:不甚了了
- 2021-02-26 10:39
你可以把你的源码贴出来看看!不过你要知道其目的是清除缓冲区的字符,一般是和字符输出相搭配使用的。我一般用:fflush(stdin);
全部回答
- 1楼网友:荒野風
- 2021-02-26 11:26
参考思路如下:
首先找到找到要删除的那一行的行号,假如是j行,然后把指向文件的指针定位到j+1行处(可以使用fseek函数,linux下可以使用lseek函数),读取一行(此时的文件指针已到达改行的末尾处,也可以认为是到了下一行的开始处),再把文件指针定位到j行,把刚才读出的再写会,使用循环直至文件结束。
简单的说就是把后面的每一行一行一行的读出,再一行一行的写到前面一行。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯