带有空白C++的移印行
pad print line with white space C++
C++我使用无符号字符指针来保存字节数组,以便我可以在每个元素中容纳 8 位颜色代码作为打印行。
我有一个保存数据的数组,一个保存空格的数组,我使用 for 循环来填充第三个数组,以便数据在开头,空格在末尾。
创建指针时,当我在运行时监视内存时,所有元素的默认值均为 0xCD
,即颜色图表上的洋红色。我使用 for 循环来填充我想要的字节0x00,但它不会覆盖第三个数组的默认数组值。
所以,我被我的打印机打印洋红色而不是空白。然而,我可以用数据很好地覆盖该数组。但不是空格。我不确定这是什么原因。谁能给我任何见解?这是我的代码...
PrintLine(unsigned char* pbData, unsigned long ulDataSize, UINT xoffset)
{
if (xoffset > 0)
{ //create pointer to byte array for xoffset
unsigned char* offsetData;
offsetData = new unsigned char[(xoffset / 8)]; //x offset is divided by 8
//to convert pixels to bytes
//create pointer to byte array to hold image data and offset data
unsigned char* finalData;
finalData = new unsigned char[ulDataSize + (xoffset / 8)];
//begin final data with image data passed into the function
for (int count = 0; count < ulDataSize; count++)
{
finalData[count] = pbData[count];
}
//populate offset data with blank bytes
for (int count = 0; count < (xoffset / 8); count++)
{
offsetData[count] = 0x00;
}
//add blank data for offset to finalData
int position = 0;
for (int count = ulDataSize; count < ulDataSize + (xoffset / 8);count++)
{
finalData[ulDataSize] = offsetData[position];//also tried =0x00
position++;
}
//Send data to printer.
if (!(Write(finalData, ulDataSize + (xoffset / 8)))
{
return FALSE;
}
return TRUE;
}
}
乍一看,您的代码没有错误,但我看到一些看起来可疑的东西。我说的是这条线:
finalData[ulDataSize] = offsetData[position]; //also tried =0x00
我想你想要的是:
finalData[count] = offsetData[position];//also tried =0x00
另一方面,你可以像这样编写循环:
for (int count = 0; count < (xoffset / 8); count++)
{
finalData[ulDataSize + count] = offsetData[count];
}
使代码更具可读性。
相关文章:
- 无法通过空白将文本文件行分隔为矢量
- 由cin中的字符串中未捕获空白引起的分割错误
- 尝试从 XamlApplication 编译 C++/WinRT 空白应用程序时,我收到未解析的外部符号 winrt_make_*
- 代码精简版页面变为空白
- 在OpenCV C++中创建空白图像
- Gtkmm 窗口为空白,不显示任何小部件或标题
- 我如何使它,无论用户用空白字符串按 Enter 多少次,它总是打印"开始"字符串?
- OpenGL - 添加第二个着色器属性会导致空白屏幕
- 对象数组打印空白字符串
- 如何在c++中读取do-while循环中的空白
- C++缓冲区是如何工作的(关于空白)
- Shell_NotifyIcon在系统托盘中创建空白、无响应的图标
- 我需要帮助修复C++空白检测器
- 接受 istream 的空白值
- 多米诺骨牌计划。我不知道如何将我的矢量拉到空白中以打印出来
- OpenGL显示空白的白屏
- 如何创建一个程序来替换单个空白/选项卡的多个空白/选项卡
- 字符指针值为空白,为什么代码不打印5
- 在 OpenGL 中呈现空白的线框立方体
- 删除 std::future 和 std::p romise 的空白专用化