关于vs2019输入带空格的字符串

遇到的问题

从vs2015起gets()函数就没有了,所以在vs2019时,使用gets()会出现报错,报错提示:未定义表示符“gets”;

解决方法

使用gets_s();

缺点

当数组大小为10时,只能输入9个字符(有一个位置留给'\0'),否则会造成缓冲区溢出, 甚至程序崩溃。

使用fgets();


输入时如果超出预先分配内存大小就自动截断, 不会出错。

getsline(,);

string str和前者char str[]比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。

要加一个头文件 #include < string >才可以使用

posted @ 2021-09-23 22:30  计科废物1  阅读(883)  评论(0)    收藏  举报
@media only screen and (max-width: 767px){ #sidebar_search_box input[type=text]{width:calc(100% - 24px)} } L2Dwidget.init({ "model": { jsonPath: "https://unpkg.com/live2d-widget-model-hijiki/assets/hijiki.model.json", "scale": 1 }, "display": { "position": "left", "width": 100, "height": 200, "hOffset": 70, "vOffset": 0 }, "mobile": { "show": true, "scale": 0.5 }, "react": { "opacityDefault": 0.7, "opacityOnHover": 0.2 } }); window.onload = function(){ $("#live2dcanvas").attr("style","position: fixed; opacity: 0.7; left: 70px; bottom: 0px; z-index: 1; pointer-events: none;") }