读取在免费商店中分配的数组的字符

read characters of an array that is allocated on free store

本文关键字:分配 数组 字符 免费 读取      更新时间:2023-10-16

我正在为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::stringstd::vectorstd::getline,我将其作为Op。

的研究。