unsigned byte byteRed, byteGreen, byteBlue;
sscanf(strRGB.c_str(), "RGB(%d,%d,%d)", &byteRed, &byteGreen, &byteBlue);
一个简单的小问题,却两次在上面犯错。还是记录下来吧。上面的代码 sscanf 中的format %d 所以类型应该 int类型,这里用unsigned byte会导致内存越界。
unsigned byte byteRed, byteGreen, byteBlue;
sscanf(strRGB.c_str(), "RGB(%d,%d,%d)", &byteRed, &byteGreen, &byteBlue);