C++ 控制台屏幕尺寸

2023-12-19

所以我在大学里学习了一些关于 C++ 的东西,我和老师就如何将文本实际居中到输出屏幕进行了讨论。所以我的建议是使用setw但得到字符串的长度和size在控制台屏幕上,进行算法和 BAM,我们就有了真正居中的文本。他说屏幕尺寸是80但屏幕可以调整大小,如果用户开始调整大小时输出居中,则无论如何都不起作用。我有一个小问题,如何获取控制台屏幕的实际大小?

#include <iostream>
#include <string>
using namespace std;

const int SCR_SIZE = 80;//some way of telling size

int main(){
   string randomText = "Hello User!";
   cout << setw( ( (80 / 2) + (randomText.length() / 2 ) ) ) 
        << randomText 
        << endl;

   return 0;
}

搜索了一下,发现了这一点

 #include <cstdlib>

 system("MODE CON COLS=25 LINES=22");

将其设置为执行以确保我的尺寸符合我想要的尺寸是否有效?通读一遍,所以我不能 100% 肯定它是否真的是一个 C++ 库


You can #include <windows.h>并打电话GetConsoleScreenBufferInfo http://msdn.microsoft.com/en-us/library/windows/desktop/ms683171.aspx。要使用它,您需要一个标准输出流的 Windows 句柄,您可以使用GetStdHandle http://msdn.microsoft.com/en-us/library/windows/desktop/ms683231.aspx.

请注意,生成的代码将是特定于 Windows 的(而您当前的代码是可移植的,因此它应该在 Linux、Mac OS、*BSD 等上运行良好)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 控制台屏幕尺寸 的相关文章

  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 自定义波特率,redux

    我遇到的问题详述如下自定义波特率 https stackoverflow com questions 7714060 custom baud rate SetCommState 波特率 921600 失败 但波特率 115200 成功 尽管
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • 需要 TensorFlow 依赖项。如何在 Windows 上运行 TensorFlow

    我有兴趣让 TensorFlow 在 Windows 上运行 但目前我意识到这是不可能的 因为某些依赖项无法在 Windows 上使用 例如巴泽尔 之所以出现这种需求 是因为据我目前了解 从 TensorFlow 访问 GPU 的唯一方法是
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • 如何从Windows阻止社交媒体[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我想根据时间阻止我的电脑上的社交媒体 晚上 9 点后屏蔽 上午 11 点后解锁 如家长控制 我尝试过关注但失败了 创建了
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置

随机推荐

  • 特征可以为其继承的特征的方法提供默认实现吗?

    我有一个特点 有几种方法 一些 但不是所有 实现此特征的结构具有其中一种方法的所有相同实现 trait Blabla fn xy self x u32 y u32 gt u32 struct Ding impl Blabla for Din
  • 计算天空中的恒星位置,PyEphem

    我很难找到天空中星星的当前坐标 RA DEC 在网络中我只找到了这个教程 如何使用ephem库 http asimpleweblog wordpress com 2010 07 04 astrometry in python with py
  • 检查数组中值的简写

    有一个简短的方法可以做到这一点吗 if isset a key a key value echo equal more code else echo not equal more code 我需要测试数组上可以存在或不存在的大量值 我觉得这
  • Android NDK Eclipse 构建错误:无法重命名文件。原因:文件存在

    我正在使用 Eclipse 和本机代码构建 Android 项目 95 的情况下这工作正常 但时不时地它会给出以下错误 make libs armeabi libnative so 错误 1 make 删除文件 libs armeabi l
  • 使用 taskkill /F 返回代码 0 终止进程

    我需要终止一个 Windows 进程 java exe 我目前正在使用 taskkill exe F IM java exe 我需要使用 F 选项 因为这是一个关键进程 但这样我得到返回代码 1 而不是我需要返回代码 0 当我不使用 F 杀
  • 在 Visual Studio 中自动创建处理程序签名

    在 c asp net 4 0 VS2015 中工作 我创建了一个用户控件 它只是一个下拉列表 其中包含用户可以传递给它的几个其他属性 以及一个事件和委托 当下拉列表更改时 会触发 OnSelectedIndexChanged 然后检查事件
  • 我的 ASP.NET MVC 应用程序结构是否正确?

    我已经阅读了教程 特别是使用 Linq To Entities 的教程 并且了解基本概念 但是有些事情给我带来了问题 这些教程通常只涉及简单的模型和表单 仅使用基本的创建 更新和删除语句 我的有点复杂 我不确定我是否以正确的方式处理这个问题
  • 提取数据库对象的代码或脚本

    我需要从所有函数 过程 包 视图和表中提取代码 脚本 以便当我转向生产时我可以运行脚本来创建所有对象 在开发过程中 我没有对所有数据库对象进行脚本备份 提取代码或脚本的最佳方法是什么 任何建议或帮助都非常值得赞赏 Thanks 您确实使用版
  • 我可以将值为“未定义”的字符串转换为实际的未定义吗?

    当我从前端发出 GET 请求时 我将几个查询参数应用于 URL 如下所示 let response await axios get products searchQuery this searchQuery categoryId this
  • 调用结构体的方法

    这段代码工作正常 feedService postgres FeedService feeds err feedService GetAllRssFeeds 但这段代码给了我错误 feeds err postgres FeedService
  • Bootstrap:向导航栏添加按钮组?

    添加一个是否足够容易btn group to navbar in bootstrap btn很好 但不太好 当btn group div 在Bootstrap3中 您可以添加一个navbar btn类给你的按钮让它们垂直对齐 即使在btn
  • Android中可以使用哪些编程语言进行开发? [复制]

    这个问题在这里已经有答案了 可能的重复 我可以在 Android Dalvik 上使用哪些编程语言 https stackoverflow com questions 1994703 which programming languages
  • 计算百分比Javascript

    我有一个关于 JavaScript 逻辑的问题 我用什么来从文本字段获取两个输入的百分比 这是我的代码 var pPos pointspossible val var pEarned pointsgiven val var perc pEa
  • R 中的部分合并

    在我最终达到 7之前r中数据帧之间的两两匹配 https stackoverflow com questions 12123013 two by two matching between dataframes in r是的 让我说我已经阅读
  • Android textview html 字体大小标签

    I use font size 4 android textview 中的标签像这样 resultTextView setText Html fromHtml font size 4 color 337744 Text Message fo
  • 突出显示缓冲区修改

    文件缓冲区经常被修改 废话 退出之前 emacs 会询问是否保存更改 现在了解到底发生了什么变化将会很有趣 有办法找出来吗 As of Emacs 22 1 at least save buffers kill emacs the defa
  • MigraDoc 表超出了第 2 页的标题?

    您好 我在 MigraDoc 中制作了一个大型表格 当表格对于页面而言太大时 它会自动拆分表格 我的页眉中有一个徽标 当我的表格转到第 2 页时 它位于徽标上方 而不是在徽标下方 有人知道如何确保它在移动到其他页面时消失吗 这是徽标代码 就
  • ModuleNotFoundError:没有名为“setuptools._distutils”的模块

    当我在 python 中安装以下包时遇到异常 pip install django microsoft auth 例外 ModuleNotFoundError No module named setuptools distutils 这里有
  • 为 Android 手机和平板电脑创建不同的布局

    这是一个基本的安卓问题 我的应用程序需要为手机和平板电脑提供不同的屏幕设计 手机需要有一个 ListView 平板电脑需要有一个项目的 GridView 我想知道如何在不制作两个不同的应用程序的情况下做到这一点 Thanks 基本上你必须为
  • C++ 控制台屏幕尺寸

    所以我在大学里学习了一些关于 C 的东西 我和老师就如何将文本实际居中到输出屏幕进行了讨论 所以我的建议是使用setw但得到字符串的长度和size在控制台屏幕上 进行算法和 BAM 我们就有了真正居中的文本 他说屏幕尺寸是80但屏幕可以调整