#在Visual Studio中使用scanf语句 ##一.问题 在使用代码处理控制台输入的时候,会遇到一些输入问题。 C++中的cin与C中的scanf处理输入的时候,略有不同。 例如:
输入数据样例:
这道题我的思路是将输入的样例保存到一个数组中,判断数组结尾的最后两个字符为"."和回车结束输入,最开始使用cin<<str[i]会发生段错误,cin不接受回车,无法结束输入,只能考虑scanf
scanf可以很好地读到回车并使循环结束。 但是scanf直接在未调试的VS上编译的话,系统会报错,因为scanf在c++中不安全,像这样: 那如何在VS中使用scanf呢? ##二.解决方法 鼠标右击项目---->属性---->点击c/c++---->找到SDL检查改为否
改完之后就可以正常运行了: PS:VS是2017以上的版本才出现scanf报错这个问题 ##三.结论 1.在Visual Studio中使用scanf语句需修改sdl; 2.在Visual Studio中使用cin则不会碰到scanf所遇见的问题; 使用cin的解决方案如下: 先定义一个string s,使用while循环读入每一行的数据,每一行以回车结束,直到最后一行输入'.'循环结束。 样例:while (cin >> s && s != '.'){...}
,每次循环处理每一行的数据。 可以看出,结合string与cin,可让在控制台下输入字符串更加方便。
来源:oschina
链接:https://my.oschina.net/u/4292771/blog/3306017