草庐IT

STRICT_ANSI

全部标签

c++ ansi转义码不向控制台显示颜色

我正在尝试更改控制台中文本的颜色。我们应该使用配置文件从以下位置读取ansi转义码:这是我的文件red\033[0;31m#redblue\033[0;34m#bluegreen\033[0;32m#greengrey\033[0;37m#grey这是我的代码:#include#include#include#include#include#includeusingnamespacestd;intmain(intargc,char*argv[]){stringfile="config.txt";stringline="";stringtag="";stringansi="";mapm;

c++ - GCC 7,aligned_storage 和 "dereferencing type-punned pointer will break strict-aliasing rules"

我编写的代码在GCC4.9、GCC5和GCC6中没有警告。它在一些较旧的GCC7实验快照(例如7-20170409)中也没有警告。但在最近的快照(包括第一个RC)中,它开始产生关于别名的警告。代码基本上可以归结为:#includestd::aligned_storage::typestorage;intmain(){*reinterpret_cast(&storage)=42;}使用最新的GCC7RC编译:$g++-Wall-O2-cmain.cppmain.cpp:Infunction'intmain()':main.cpp:7:34:warning:dereferencingtyp

c++ - 如何使用标准 C++ 从 UTF-8 转换为 ANSI

我从数据库中读取了一些字符串,以char*和UTF-8格式存储(你知道,“á”被编码为0xC30xA1)。但是,为了将它们写入文件,我首先需要将它们转换为ANSI(不能以UTF-8格式制作文件......它只能读取为ANSI),这样我的“á”就不会成为一个”。是的,我知道一些数据会丢失(中文字符,通常是ANSI代码页中没有的任何内容),但这正是我需要的。但问题是,我需要代码在各种平台上编译,所以它必须是标准的C++(即没有Winapi,只有stdlib、STL、crt或任何具有可用源的自定义库)。有人有什么建议吗? 最佳答案 几天前

c++ - 如何使用 ANSI Escape 代码在控制台上输出彩色文本

我读到了ANSI-C转义码here.尝试在C/C++printf/cout中使用它来为输出到consolde的文本着色,但没有成功。代码:#include#includeintmain(){inta=3,b=5;int&ref=a;ref=b;//cout如何使用这些转义码将彩色文本输出到控制台?我错过了什么吗?编辑:在一些C++代码中,我看到了对这个函数的调用textcolor(10);但它在g++和VisualStudio中给出了编译错误。哪个编译器有这个功能?有详细信息吗? 最佳答案 恐怕你忘记了ESC字符:#includei

c++ - 为什么 GCC 允许在 C++ 中使用 round() 即使带有 ansi 和 pedantic 标志?

即使使用-ansi和-pedantic标志,这个程序在GCC下编译是否有充分的理由?#includeintmain(intargc,char*argv[]){doublex=0.5;returnstatic_cast(round(x));}使用g++-ansi-pedantic-Walltest.cpp-otest编译干净(甚至没有警告)。我看到两个问题:round()不应该在符合ISO的模式下对C++可用(因为它来自C99)即使round()在这种情况下可用,它也只能在std命名空间中可用我错了吗? 最佳答案 Thisisabug

c++ - 使 Win32 应用程序在 ANSI 和 UNICODE 上工作

我想让我的Win32C++应用程序能够在任何编码版本(UNICODE和ANSI)上播放。现在我对两种(或更多?)编码之间到底有什么区别感到有点困惑?要使我的Win32应用程序交叉编码兼容是否意味着我必须检查我的代码并将每个std::string替换为std::wstring,然后将每个字符替换为wchar_t*然后将每个文字字符串("")替换为L""?如果我的应用程序在UNICODE机器上运行并且我的应用程序中有一个std::string会怎样?对于使我的应用程序交叉编码兼容需要采取的步骤,您有什么建议吗?例如:-将所有c_strings和字符串更改为其等效的UNICODE-将任何Wi

Mysql 启动错误:Error while setting value ‘STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_

错误问题:Errorwhilesettingvalue'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'to'sql_mode'原因:是因为MySql配置my.ini中sql_mode的值,逗号(,)后面有空格,手动去掉即可。 

ios - 解析 ANSI 颜色代码并为 NSAttributedString 设置相应的颜色属性

我需要一种方法来解析shell输出中的ANSI颜色代码,以便为NSAttributedString设置相应的颜色属性。输入字符串类似于:[0;31m这应该是红色的。[0;34m这应该是蓝色的。[0;32m这应该是绿色的。[0;31m这也应该是红色的。在我从输出中删除Ansi代码后,我的代码以某种方式与颜色不匹配。我当前的代码如下:-(NSAttributedString*)ansicodeParser:(NSString*)str{//initstringNSMutableString*mutableStr=[[NSMutableStringalloc]initWithString:s

php - 读取ansi文件并转换为UTF-8字符串

有没有办法用PHP做到这一点?当我打印出来时,要插入的数据看起来很好。但是当我将它插入数据库时​​,该字段变为空。 最佳答案 $tmp=iconv('YOURCURRENTCHARSET','UTF-8',$string);或$tmp=utf8_encode($string);奇怪的是你最终在你的数据库中得到了一个空字符串。我可以理解您最终会在您的数据库中遇到一些垃圾,但根本没有什么(空字符串)是奇怪的。我刚刚在我的控制台中输入了这个:iconv-l|grep-iansi它向我展示了:ANSI_X3.4-1968ANSI_X3.4-

php - 如果我声明空白页(strict_types=1);在文件顶部的 PHP 7 中

最近我正在检查PHP7,特别是returntypedeclaration和typehinting.我已经从源代码(Github的主分支)编译了PHP7,并在Ubuntu14.04虚拟框中运行它。我尝试运行以下代码来测试新的Exceptions.但它给出了一个空白页。然后我意识到我必须将错误设置为显示在屏幕上。所以我添加了老式的ini_set('display_errors',1);如下所示,根据此Throwableinterface,这给了我预期的TypeError征求意见稿Fatalerror:UncaughtTypeError:Returnvalueoftest()mustbeof