|

楼主 |
发表于 2019-9-27 14:37:25
|
显示全部楼层
本帖最后由 一点都不鱼的鱼 于 2019-9-27 14:39 编辑
部分代码附上,执行完函数之后指针没有改变。不知道是否和我scanf接收时,用的%u有关,对这个不太了解 。
- uint8_t quadrant;
- char input[1024]= {'\0'};
- uint8_t bmp1_data[MAX_FILE];
- uint32_t startX,startY;
- Bmp_Instance bmp1,*bmp1_ptr;
- bmp1_ptr = &bmp1;
- bmp1_ptr->bdata = bmp1_data;
- while(1)
- {
- do{
- printf("请输入要读入的BMP24位文件路径和文件名:\n");
- scanf("%s",&input);
- }while(BmpInfoGetter(input,bmp1_ptr)==FAILED);
- //BmpInfoPrint(bmp1_ptr);
- printf("请输入需要生成代码硬件设备的象限(1,3):\n");//执行到此处时,bmp1_ptr指针值还是正常的。
- scanf("%u",&quadrant);//scanf接收数据后,这里指针的值就发生了改变。
- printf("请输入需要生成代码初始X坐标(值最小的x坐标):\n");
- scanf("%u",&startX);
- printf("请输入需要生成代码初始Y坐标(值最小的y坐标):\n");
- scanf("%u",&startY);
- printf("正在生成中...............\n");
复制代码 |
|