【发布时间】:2012-08-19 12:39:17
【问题描述】:
我知道getline(cin,_string); 完美运行
但这不会:
char* _chArr = new char;
getline(cin,_chArr);
即使这样也行不通:
char* _chArr = new char[30];
getline(cin,_chArr);
char* 不是字符串吗??
【问题讨论】:
我知道getline(cin,_string); 完美运行
但这不会:
char* _chArr = new char;
getline(cin,_chArr);
即使这样也行不通:
char* _chArr = new char[30];
getline(cin,_chArr);
char* 不是字符串吗??
【问题讨论】:
不是 char* 是字符串
不,它是指向char 的指针,仅此而已。函数std::getline 做了一些在char * 上不容易完成的很酷的事情(扩展字符串等等)。
【讨论】:
请从逻辑上考虑。 char* 只是一个指向字符类型内存块的指针。您必须为其分配一些动态内存,然后使用 strcpy() 或手动将数据复制到其中。 C++ 不支持直接输入。字符串实际上是自身包含大小的对象。它们是由该行业的专家设计的,它们提供了直接输入和动态增长,就像内置功能一样。 字符串和 cstring 是有区别的。 Cstring 是 char*。
【讨论】:
不,C++ 字符串不只是字符数组,它们是一个成熟的类,通常除了字符数组提供的功能之外,还有很多额外的东西。 p>
【讨论】: