访问存储在开始指针和结束指针之间的值
Access values stored between starting and ending pointers
我在一大段代码中(在 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);
相关文章:
- 共享指针和具有自定义删除程序的唯一指针之间的语法差异背后的任何原因
- AVX 指令中寄存器和指针之间的客观差异
- 为什么不同类型层次结构的指针之间的dynamic_cast定义得很好?
- 介于 [固定数组] 和 [带内存分配的指针] 之间的性能
- 类指针之间的 Qt 差异
- 指向 POD 类型的指针之间的静态转换与重新解释转换
- 按值和引用传递指针之间的区别?
- 可以在指向不同模板类实例的指针之间进行强制转换吗
- 函数指针和传递指针之间的区别
- 作为 int 传递和类内部指针之间的差异给我带来了分段错误
- 比较C 中移动和智能指针之间的习惯
- 无效指针和非初始化的指针之间的差异
- 拉链比较整数和指针之间
- 指针数组(*a)[]和双指针** a之间的差异
- ->运算符和指针 * 之间的区别 (C++)
- 在 c++ 中,指向 int 的指针和指向指向 int 的指针之间的区别是什么?
- 指针之间的强制转换运算符
- 函数对象和函数指针之间的差异
- 指针之间的运算符重载
- 两个指针之间的差异是合法的 c++17 常量表达式