网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月19日
漏签
0
天
c++吧
关注:
600,269
贴子:
2,107,267
看贴
图片
吧主推荐
游戏
23
回复贴,共
1
页
<<返回c++吧
>0< 加载中...
求助:c++的玄学字符宽度问题
只看楼主
收藏
回复
无名氏wyw1
|
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
╔═╦═╦═╗
这上面的是制表符是吧?
在Windows 7 中,一个制表符在控制台中应是两个字符的宽度(如下图):
但我用win10编译输出的结果是:
同样的程序,在win10编译后放在win7中启动正常
这是win10控制台的问题么?如果是,应该怎么处理?如果有多台win10电脑有此问题,可以使用代码解决吗?
这是源代码:
注:字符串前的“ \b”是因为win10输出中文时会乱码,而先输出ASCII文本再输出中文正常(别问这个问题)
望解答,谢谢。
M_P_C_King
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
制表符长度还可以是8
反正多半都要定长
不如直接定长输出
无锡锐赫新科技有限公司
运行库全能修复管家一键修复电脑软件和游戏缺失DLL、DirectX导致的崩溃、卡顿、故障等问题。百万用户已下载使用并推荐,一款值得信赖的
c++
神器。
2025-02-19 19:16
广告
立即查看
射命丸文
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这东西就是这样的,可以用setw配合left和right。
神猫
<<
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
控制台换个等宽字体
贴吧用户_007PWyP
*
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
应该是等宽字体的问题,我自己试验了下。
如果你是用的 Windows 可以用以下平台相关的代码要强制设置等宽字体。
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
void hack_console_win32_only(const std::wstring& font_name, short font_size)
{
CONSOLE_FONT_INFOEX font_info = {};
auto output_handle = GetStdHandle(STD_OUTPUT_HANDLE);
font_info.cbSize = sizeof(CONSOLE_FONT_INFOEX);
font_name.copy(font_info.FaceName, font_name.size());
font_info.dwFontSize.Y = font_size;
SetCurrentConsoleFontEx(output_handle, FALSE, &font_info);
}
用法:
hack_console_win32_only(L"Consolas", 14);
贴吧用户_0456y4t
,
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我觉得吧,就是字体的原因
你试试宋体的=-=和微软雅黑的=-=他就是不一样宽
无名氏wyw1
|
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
@贴吧用户_0456y4t
所以这在win7里应该不会发生吧?
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示