c++使用指针指向的字符串,如何判断字符串结束
2016-05-18 21:18
295 查看
IplImage* img = cvLoadImage(ImageName, CV_LOAD_IMAGE_GRAYSCALE);
unsigned char *img_data = (unsigned char *)(img->imageData);
int widthstep = img->widthStep;
//将一维指针img_data指向的内存中的值写入成员变量二维指针data所指的内存中
//write your code here
height=img->height;
width=img->width;
unsigned char *p=img_data;
data=new unsigned char *[height];
for(int i=0;i<width;i++)
{
data[i]=new unsigned char [width];
}
int i=0;
while(p!=NULL)
{
for(int j=0;j<widthstep;j++)
{
*(*(data+i)+j)=*p;
p++;
}
i++;
}
这样会陷入死循环,原因是p是指针,它的值是地址,例如char * p = "asdfsdafsd "; 但是p != 'a ', 而是0x1010010(举例)
所以应将while语句中的P!=NULL改为 *p!=NULL。
unsigned char *img_data = (unsigned char *)(img->imageData);
int widthstep = img->widthStep;
//将一维指针img_data指向的内存中的值写入成员变量二维指针data所指的内存中
//write your code here
height=img->height;
width=img->width;
unsigned char *p=img_data;
data=new unsigned char *[height];
for(int i=0;i<width;i++)
{
data[i]=new unsigned char [width];
}
int i=0;
while(p!=NULL)
{
for(int j=0;j<widthstep;j++)
{
*(*(data+i)+j)=*p;
p++;
}
i++;
}
这样会陷入死循环,原因是p是指针,它的值是地址,例如char * p = "asdfsdafsd "; 但是p != 'a ', 而是0x1010010(举例)
所以应将while语句中的P!=NULL改为 *p!=NULL。
相关文章推荐
- 第7周项目3- C++游戏系列3:用多文件组织角色类
- 使用sizeof()计算类的大小
- 【C++】:C++的一道二维数组问题探究
- 快速排序
- leetcode 字符串的所有的真子集
- C++ 文件输入输出 (一)
- 关于C语言中的文件操作
- leetcode
- 【C++】:C++函数重载的映射机制(内容较深)
- 【C++】:C++函数重载
- C++课堂作业_02_PAT1025.反转链表
- C++课堂作业_02_PAT1025.反转链表
- C++第5 次上机作业
- RAD 10 C++Builder的bug
- C++ const限定符详细说明
- C语言的选择算法
- 2015年第六届蓝桥杯C/C++程序设计本科B组决赛第二题
- leetcode 66_Plus One C++
- C语言求最小公倍数和最大公约数三种算法
- c语言数组与指针的学习与思考