首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getline(cin,_string);

getline(cin,_string);
EN

Stack Overflow用户
提问于 2012-08-19 20:39:18
回答 3查看 453关注 0票数 0

我知道getline(cin,_string);工作得很好

但这不是:

代码语言:javascript
复制
char* _chArr = new char;
getline(cin,_chArr);

甚至这个alson也不能工作:

代码语言:javascript
复制
char* _chArr = new char[30];
getline(cin,_chArr);

char*不是字符串吗??

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-19 20:51:32

从逻辑上考虑这一点。char*只是一个指向字符型内存块的指针。您必须为其分配一定数量的动态内存,然后使用strcpy()或手动将数据复制到其中。C++中不支持直接输入。字符串实际上是包含大小的对象。它们是由该行业的专家设计的,它们提供了直接输入和动态增长,就像内置功能一样。string和cstring是有区别的。Cstring是char*。

票数 2
EN

Stack Overflow用户

发布于 2012-08-19 20:41:11

不是字符*是字符串

不,它是一个指向char的指针,仅此而已。函数std::getline做了一些在char *上不容易做的很酷的事情(扩展字符串等等)。

票数 5
EN

Stack Overflow用户

发布于 2012-08-19 20:42:15

不,C++字符串不只是字符数组,它们是一个成熟的类,通常在字符数组提供的功能之外,还隐藏着相当多的额外内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12026541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档