访问存储在开始指针和结束指针之间的值

Access values stored between starting and ending pointers

本文关键字:指针 之间 结束 开始 访问 存储      更新时间:2023-10-16

我在一大段代码中(在 c++ 中)有下面提到的函数:

void startup(const char *&      start,
    const char *&   stop);

调用此函数后,我想访问字符值,即存储在"开始"和"停止"之间的字符串。

我尝试访问相同的方法是:

 char *var=(c.start);
  cout<<"n Iterating over char pointer n";
  while(var<=(c.stop))
  {
      cout<<*var;
      var++;
  }
  cout<<"n";

但是,在尝试以这种方式访问它时,我收到以下提到的错误:

  error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]

有人可以好心地纠正错误吗?并帮助我访问字符值

您需要做的就是替换该行:

char *var=(c.start);

跟:

const char *var=(c.start);

请注意,该const是指指针指向的字符,而不是指针本身。 所以像var++这样的表达式是完全可以的,因为指针不是常量。

您可以在分配语句中尝试此转换:

char *pc = (char *)(c.start);