C++ 打印表格到屏幕或文件

有时候需要在.cpp文件中的注释中插入表格,如果.cpp文件能支持插入图片就好了,然并卵。。。还是代码来解决吧。

最终效果

源代码

#include <iostream>
#include <fstream>
#include <string>
using namespace std;const int COL = 9;
const int ROW = 13;
const int WIDTH = 12;int PrintTableToFile(const string file_name, string (*pText)[COL], int row, int col, int w);int main()
{   string szText[ROW][COL]{};for (size_t i = 1; i < COL; i++){szText[1][i] = "Bit";szText[1][i] += std::to_string(COL-i-1);}szText[0][0] = "字节";szText[1][0] = "字节";szText[0][8] = "位";szText[2][1] = "0";szText[2][2] = "0";szText[2][4] = "镜头变倍(Zoom)";szText[2][6] = "云台垂直方向控制(Tilt)";szText[2][8] = "云台水平方向控制(Pan)";szText[3][1] = "0";szText[3][2] = "0";szText[3][3] = "缩小(OUT)";szText[3][4] = "放大(IN)";szText[3][5] = "上(Up)";szText[3][6] = "下(Down)";szText[3][7] = "左(Left)";szText[3][8] = "右(Right)";szText[2][0] = "字节4";szText[3][0] = "字节4";szText[4][0] = "字节5";szText[4][8] = "水平控制速度相对值";szText[5][0] = "字节6";szText[5][8] = "垂直控制速度相对值";szText[6][0] = "字节7";szText[6][4] = "变倍控制速度相对值";szText[6][8] = "地址高4位";szText[7][8] = "注1:字节4中的 Bit5、Bit4分别控制镜头变倍的缩小和放大,字节4中的 Bit3、Bit2、Bit1、Bit0位分别控制云台";szText[8][8] = "上、下、左、右方向的转动,相应 Bit位置1时,启动云台向相应方向转动,相应 Bit位清0时,停止云台相应";szText[9][8] = "方向的转动。云台的转动方向以监视器显示图像的移动方向为准。                                  ";szText[10][8] = "注2:字节5控制水平方向速度,速度范围由慢到快为00H~FFH;字节6控制垂直方向速度,速度范围由慢到快";szText[11][8] = "为00H-FFH。                                                                            ";szText[12][8] = "注3:字节7的高4位为变焦速度,速度范围由慢到快为0H~FH;低4位为地址的高4位。";PrintTableToFile("table2.txt", szText, ROW, COL, WIDTH);system("pause");return 0;
}int PrintTableToFile(const string file_name, string(*pText)[COL], int row, int col, int w)
{ofstream fout;fout.open(file_name.c_str());if (!fout.is_open()){cout << "open " << file_name << " file failed!\n";return -1;}int w_tmp = w;for (size_t i = 0; i < row; i++){fout << "+";for (size_t j = 0; j < col; j++){fout.width(w + 1);fout.fill('-');fout << "+";}fout << endl;for (size_t j = 0; j < col; j++){if (pText[i][j].size() > 0 ){fout << "|";fout.width(w_tmp);fout.fill(' ');fout << pText[i][j];w_tmp = w;}else{w_tmp += w+1;}}fout << "|";fout << endl;}fout << "+";for (size_t j = 0; j < col; j++){fout.width(w + 1);fout.fill('-');fout << "+";}fout << endl;fout.close();return 0;
}

编译运行,得到以下的效果,离最终效果还有点差距,手动调整一下。

C++ 打印表格到屏幕或文件相关推荐

  1. Vue.js :使用LODOP打印表格文件

    用到的打印工具是LODOP. 项目环境是vue-cli搭建的,组件库是ant design vue. 1.在需要打印的页面引入插件. <script>import { getLodop } ...

  2. xis表格怎么打印_Excel如何只打印表格的一部分?局部打印设置方法

    使用Excel制作了表格,不想全部打印,只想打印一部分或者多个部分,比如只想打印出来临时参考其中的一部分内容以核对数据;而有时又是经常性的,比如一张日常大表格,只有其中的一部分有必要作为最终报表结果输 ...

  3. C# PrintDocument 打印表格

    1.封装好的辅助类: 1 using System; 2 using System.Data; 3 using System.Drawing; 4 using System.Drawing.Print ...

  4. 打印表格_Excel表格打印技巧,让你分分钟打印出完美表格!建议收藏!

    平时在工作中经常需要帮忙打印一些文件,但有时候打印出来的东西却并不是我们想要的...... 打印出来为什么没有标题? 不可以自己设置打印区域吗? 怎么把内容打印到一页纸上? 等等...... 如果你遇 ...

  5. Java打印表格 Console/控制台

    功能: 控制台打印表格,支持字段动态长度,左对齐,设置最多打印多少行. 类下载地址:https://download.csdn.net/download/qq_26599807/12840079 简单 ...

  6. 6行代码实现js打印表格

    在业务中我们经常会遇到打印当前表格的需求,下面我们直奔主题. 首先我们要引一个js文件: <script type="text/javascript" src="J ...

  7. 32. Pandas借助Python爬虫读取HTML网页表格存储到Excel文件

    Pandas借助Python爬虫读取HTML网页表格存储到Excel文件 实现目标: 网易有道词典可以用于英语单词查询,可以将查询的单词加入到单词本; 当前没有导出全部单词列表的功能.为了复习方便,可 ...

  8. 打印表格打印机没有反应_一分钟解决:不能打印、文档和表格也打不开

    今天给大家分享前两天工作中遇到的一例故障:XP系统,所有的文档和表格都不开,打开文档表格会卡在office启动界面不动,多点几下office软件就卡死了,而且也不能打印,点击任何打印都没有反应,同时点 ...

  9. vue中打印表格,打印不全的问题

    vue中打印表格,打印不全的问题 html部分 <TableDetailsclass="table-box"ref="inventoryDetails"& ...

最新文章

  1. HTML5学习笔记简明版(3):新元素之hgroup,header,footer,address,nav
  2. python xlsxwriter 在 flask 中的使用
  3. Nginx源代码安装
  4. Apache多网站虚拟目录域名
  5. Leetcode-Merge k Sorted Lists
  6. sigmoid函数_常用的激活(激励)函数——深度学习笔记(建议收藏)
  7. MATLAB案例学习-基于雷达和摄像头的传感器融合
  8. 利用WPF建立自适应窗口大小布局的WinForm窗口
  9. python-pip : Depends: python-setuptools (= 0.6c1) 问题
  10. 注册测绘师成绩查询,2020注册测绘师成绩公布
  11. html中空格符号以及空格字符实体的总结
  12. 使用layui实现省市区及编码联动(引入第三方插件)
  13. 互联网行业中最常用的数据库——MySQL 索引、事务与存储引擎
  14. c语言反三角函数值域,反三角函数的定义域和值域
  15. java对图片进行压缩处理
  16. 虚拟机的vmem lck到底是个啥玩意 用虚拟机很有可能一不小心就把虚拟机搞崩了如何解决
  17. ctf-crypto-7+1+0
  18. 菜鸟成长记-各种奇葩错误总结
  19. 对医疗数据泄露零容忍,数据安全治理势在必行
  20. 广义表深度递归算法的问题

热门文章

  1. backtrader概念(二)Trade
  2. 使用MQTTX 建立连接报Error: Connection refused: Not authorized 未授权
  3. 电脑连接网线之后怎么给手机开热点
  4. 手机无线如何共享给台式计算机,教你用手机做热点分享wifi给台式电脑用,不是用数据网络哦...
  5. app对于接口返回数据的容错测试(健壮性测试)
  6. 多线程扑克牌发牌小白实现 -- 记录下自己代码点滴
  7. 如何利用PyTorch实现一个Encoder-Decoder结构进行英法互译
  8. drop,delete与truncate的区别
  9. python绘制各种摆线(包括心形线星形线等,超炫酷)
  10. 因计算机中丢失msvcr120.dll,msvcr120.dll丢失怎样修复 附解决方法