如何输入字符串时,以'='结尾,不用输入回车就结束输入?

godke2001 2019-10-18 03:33:04
如何输入字符串时,以'='结尾,不用输入回车就结束输入?
试过cin.peek()没能成功.
求助大佬.
...全文
683 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kingdeguo 2019-10-19
  • 打赏
  • 举报
回复
引用 5 楼 godke2001的回复:
[quote=引用 4 楼 Kingdeguo的回复:]键盘输入的一开始存放在缓存去,不按回车的话怎么把数据传到没存里
可是那道题就是这么要求的[/quote] 😛水平有限,我也关注一下这个问题
godke2001 2019-10-19
  • 打赏
  • 举报
回复
引用 4 楼 Kingdeguo的回复:
键盘输入的一开始存放在缓存去,不按回车的话怎么把数据传到没存里
可是那道题就是这么要求的
Kingdeguo 2019-10-19
  • 打赏
  • 举报
回复
键盘输入的一开始存放在缓存去,不按回车的话怎么把数据传到没存里
提及 2019-10-19
  • 打赏
  • 举报
回复
Ncurses or PDcurses
godke2001 2019-10-19
  • 打赏
  • 举报
回复
引用 17 楼 Kingdeguo的回复:
[quote=引用 15 楼 Kingdeguo的回复:]假如已经定义了一个 str[1000]的字符数组 for(i=0; i<1000; ++i) { str[i] = getchar(); if( str[i] == ' = ') break; else putchar( str[i]); }
另外。。我觉得你可能是把题中的结束输入理解错了。。。这个结束输入并不是不按回车的意思。而且这个字符串结束了。 比如,你输入khgg=uhgfg 按下回车之后只会显示khgg 因为这个字符串在 =这里就结束了。 所以我觉得是你理解和题目本身的意思有点出入[/quote] 额,可能是吧,我回去试试oj能不能通过。
godke2001 2019-10-19
  • 打赏
  • 举报
回复
感谢大家的帮助,这个帖子我收获了两种不同的方法,谢谢大家
Kingdeguo 2019-10-19
  • 打赏
  • 举报
回复
引用 15 楼 Kingdeguo的回复:
假如已经定义了一个 str[1000]的字符数组 for(i=0; i<1000; ++i) { str[i] = getchar(); if( str[i] == ' = ') break; else putchar( str[i]); }
另外。。我觉得你可能是把题中的结束输入理解错了。。。这个结束输入并不是不按回车的意思。而且这个字符串结束了。 比如,你输入khgg=uhgfg 按下回车之后只会显示khgg 因为这个字符串在 =这里就结束了。 所以我觉得是你理解和题目本身的意思有点出入
godke2001 2019-10-19
  • 打赏
  • 举报
回复
谢谢,这次可以运行了
Kingdeguo 2019-10-19
  • 打赏
  • 举报
回复
假如已经定义了一个 str[1000]的字符数组 for(i=0; i<1000; ++i) { str[i] = getchar(); if( str[i] == ' = ') break; else putchar( str[i]); }
SoporAeternus2022 2019-10-19
  • 打赏
  • 举报
回复
引用 10 楼 godke2001的回复:
[quote=引用 9 楼 有恒?无恒??的回复:][quote=引用 8 楼 godke2001的回复:][quote=引用 2 楼 有恒?无恒??的回复:]while ((c = getchar()) != '=')
printf("%c", c);
题目是这样要求的:输入字符串时,输入以等号结束(注意不是回车)[/quote] 你试过了吗,运行一下那种[/quote] 试过了,还是要输回车。。[/quote] 加个判断语句if(c=='=')break;
godke2001 2019-10-19
  • 打赏
  • 举报
回复
引用 11 楼 提及的回复:
为什么要忽略我和第一楼的答案 https://docs.microsoft.com/zh-cn/cpp/c-runtime-library/reference/getch-getwch?view=vs-2019
。。。我还以为getch就是getchar。。多谢指点
godke2001 2019-10-19
  • 打赏
  • 举报
回复
引用 11 楼 提及的回复:
为什么要忽略我和第一楼的答案 https://docs.microsoft.com/zh-cn/cpp/c-runtime-library/reference/getch-getwch?view=vs-2019
大佬,主要是我学的太浅,还没学阻塞。。。。
提及 2019-10-19
  • 打赏
  • 举报
回复
为什么要忽略我和第一楼的答案 https://docs.microsoft.com/zh-cn/cpp/c-runtime-library/reference/getch-getwch?view=vs-2019
godke2001 2019-10-19
  • 打赏
  • 举报
回复
引用 9 楼 有恒?无恒??的回复:
[quote=引用 8 楼 godke2001的回复:][quote=引用 2 楼 有恒?无恒??的回复:]while ((c = getchar()) != '=')
printf("%c", c);
题目是这样要求的:输入字符串时,输入以等号结束(注意不是回车)[/quote] 你试过了吗,运行一下那种[/quote] 试过了,还是要输回车。。
SoporAeternus2022 2019-10-19
  • 打赏
  • 举报
回复
引用 8 楼 godke2001的回复:
[quote=引用 2 楼 有恒?无恒??的回复:]while ((c = getchar()) != '=')
printf("%c", c);
题目是这样要求的:输入字符串时,输入以等号结束(注意不是回车)[/quote] 你试过了吗,运行一下那种
godke2001 2019-10-19
  • 打赏
  • 举报
回复
引用 2 楼 有恒?无恒??的回复:
while ((c = getchar()) != '=')
printf("%c", c);
题目是这样要求的:输入字符串时,输入以等号结束(注意不是回车)
godke2001 2019-10-19
  • 打赏
  • 举报
回复
引用 2 楼 有恒?无恒??的回复:
while ((c = getchar()) != '=')
printf("%c", c);
我试了一下,这个语句可以实现去等号,但无法输入等号是结束输入。
SoporAeternus2022 2019-10-18
  • 打赏
  • 举报
回复
while ((c = getchar()) != '=')
printf("%c", c);
lin5161678 2019-10-18
  • 打赏
  • 举报
回复
getch吧 或者手动select做一个非阻塞的IO函数

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧