读取在免费商店中分配的数组的字符
read characters of an array that is allocated on free store
我正在为C 做一本书,并且有一个问题需要制作一个程序,该程序从 cin> cin> cin 中读取您在免费商店中分配的数组。它进一步要求阅读单个字符,直到输入感叹号为止。我是指指针的新手,我不知道该怎么做。它还禁止使用std :: string,并告诉我不要关心记忆耗尽。请帮忙!!!
一次。
在免费商店中分配数组:
char * ptr_char_array = new char[SIZE];
将字符读入数组:
unsigned int chars_remaining = SIZE;
char * p = ptr_char_array;
while ((chars_remaining > 0) && (cin >> *p++))
{
--chars_remaining;
}
在阅读感叹号时停止阅读:
char c;
while ((chars_remaining > 0) && (cin >> c))
{
if (c == '!')
{
break;
}
*p = c;
++p;
--chars_remaining;
}
一种更好的方法是使用std::string
,std::vector
和std::getline
,我将其作为Op。
相关文章:
- 将数组的地址分配给变量并删除
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 获取字符串的长度并将其分配给数组
- 在c++中为我自己的基于指针的数组分配内存的正确方法
- 使用递归模板动态分配的多维数组
- 如何正确填充在堆上分配的二维数组?
- 在函数范围内在堆栈上分配的数组在离开函数时是否总是被释放?
- 在 C++ 中搜索动态分配的数组中的出现次数
- 动态分配的聊天数组打印缺失的数据和空
- 关于字符数组,我正在尝试将数组中的每个字符分配给另一个值
- 我似乎无法为指针分配一个数组,然后更改数组的内容
- 具有自定义构造函数 (C++) 的类型的动态数组分配
- 无法分配C++数组
- 如何增加以前由新运算符分配的 C++ std::list 数组的大小?
- 分配 2D 可变大小的数组
- 介于 [固定数组] 和 [带内存分配的指针] 之间的性能
- 动态分配字符数组的内存
- C++具有动态分配的字符数组的结构
- C 通过参考分配 /数组传递内存
- 使用字符串或字符动态分配(数组)