文件说:
istream::get ( char* s, streamsize n, char delim );
// Extracts characters from the stream and stores them as a
// c-string into the array beginning at s
Run Code Online (Sandbox Code Playgroud)
我试图分析这个功能的作用.它需要一个"按值"的指针.也就是说它无法分配动态内存并设置指向s它的指针.它只能改变指针s指向的内容.
但是如果函数不能执行动态内存分配,它怎么能返回长度未知的输出呢?我该如何使用这个功能?我应该预先分配内存并将指针传递给它s,然后自己删除吗?
文档很清楚:
将它们作为c-string存储到从s开始的数组中
- s必须指向一个足以容纳读取字符串的有效数组.
如何返回长度未知的输出
它的最大长度是已知的n(实际上n - 1,因为一个字符是为C字符串的空终止而保留的).
然而,由于您的问题,它可能更适合使用的std::string过载getline.
| 归档时间: |
|
| 查看次数: |
3881 次 |
| 最近记录: |