草庐IT

c++ - "ANSI C"或 "ANSI C++"在今天还有意义吗?

上次我检查时,说您正在使用ANSIC编码等同于说“这是符合C99的代码,其中没有任何其他内容”。现在有了C11和C++11,这种区别还存在吗?它还有某种意义吗? 最佳答案 历史上,“ANSIC”用于表示“标准C”,即C89,与“K&RC”和编译器编写者发明的各种预标准变体形成对比。这就是为什么第二版。《TheCProgrammingLanguage》一书的封面上有一个大大的红色“ANSIC”印章。然后有一段时间“ISOC”被用来表示“新标准C”,即C99,与“ANSIC”形成对比。这一直是一个令人困惑的用法,因为ISO和ANSI都批

c++ - 将 Visual C++ Studio/Express 设置为严格的 ANSI 模式

我通常在Linux下使用gcc和-ansi标志进行编程和编译;但我一直被迫在VisualC++中工作,每当我编译我的C代码时,我都会收到所有Microsoft警告,如'fscanf':Thisfunctionorvariablemaybeunsafe.Considerusingfscanf_sinstead.尽管在MSDN开发者网站上执行了一些用于设置ANSIC项目的步骤,但我还是得到了这些,但所有_s(“安全”)调用都不是ANSIC!关于将VisualC++Studio置于严格的ANSI-only模式有什么建议吗?谢谢。 最佳答案

c++ - 资源文件是编译为 UNICODE 还是 ANSI 代码页?

首先-如果此问题已被回答一百次以上,我深表歉意!哦!但我的搜索功能显然很糟糕,因为我没有运气回答这个基本问题:HowareresourcesstoredintheEXE/DLL?AsUNICODE(UCS-2,Windowsnativeinternalcharacterformat),orasmultibytecharactersusingthecode-pageoftheresourcesblock?如何将UNICODE字符串嵌入到资源(.rc)中?能否从VS2012中将UNICODE(UCS-2)文本插入到语言字符串中?Windows仍在使用UCS-2,还是在内部使用UTF16?我

c++ - 如果包含 "-ansi"编译器选项,为什么我的 C++0x 代码无法编译?

我遇到了一个非常奇怪的错误,只有在我使用ansi标志时才会弹出。#includeclassTest{public:explicitTest(std::shared_ptrptr){}};这是编译,使用gcc4.5.2和4.6.0(20101127)测试:g++-std=c++0x-Wall-pedantic-ansitest.cpptest.cpp:6:34:error:expected')'before'但是不用​​-ansi编译也可以。为什么? 最佳答案 对于GNUC++编译器,-ansi是-std=c++98的另一个名称,它覆

windows - 为什么 Windows 使用 ANSI 代码页而不是 UNICODE?

当我在cmd.exe窗口中运行命令chcp时,它表示Windows中使用的代码页。我认为Windows使用UNICODE字符集。所以,我的问题是:为什么Windows使用ANSI代码页而不是Unicode?Windows使用UTF-16还是UCS-2?我可以检查这个(通过命令或MSDN链接)吗?UTF-16或UCS-2只是一种编码?或者也是一个字符集?UTF-8、UTF-16、UTF-32等..它们的字符集大小是否不同?我很困惑。请有人定义它们。 最佳答案 历史原因和向后兼容性。Windows本身是一个基于Unicode的操作系统,

windows - WinAPI Unicode 和 ANSI 函数

大多数WinAPI调用都有Unicode和ANSI函数调用例如:functionMessageBoxA(hWnd:HWND;lpText,lpCaption:LPCSTR;uType:UINT):Integer;stdcall;externaluser32;functionMessageBoxW(hWnd:HWND;lpText,lpCaption:LPCWSTR;uType:UINT):Integer;stdcall;externaluser32;我什么时候应该使用ANSI函数而不是调用Unicode函数? 最佳答案 就像发布的评

windows - Windows ANSI Western (cp 1252) 首先出现在哪个 Windows 版本中?

我想要一个尽可能明确的引用,以了解哪个版本的Windows引入了WindowsANSIWestern字符编码。我主要怀疑是Windows1.0(常识)和Windows3.1。Windows3.1是由MSDN上的一本Microsoft书籍暗示声明的。它声明Windows95使用的编码是在Windows3.1中引入的。我不认为这是任何明确的引用,甚至不是特别值得信赖的,因为它过于模糊并且暗示了一些错误(例如代码页437,原始的IBMPC字符集)。更新:在http://iana.org/assignments/character-sets我找到了注册的IANA名称“ISO-8859-1-Wi

windows - 从 Windows 批处理文件中检测与 ANSI 兼容的控制台?

Windows10控制台主机,conhost.exe,有nativesupportforANSIescapesequences,旧版本没有。如何从批处理文件中检测是否存在控制台ANSI支持?是否可以调用GetConsoleMode还是直接从批处理文件调用其他WindowsAPI? 最佳答案 您最后一个问题的答案是:是的,借助于PowerShell代码。此批处理文件执行您的请求:@echooffsetlocalset/ASTD_OUTPUT_HANDLE=-11set/AENABLE_PROCESSED_OUTPUT=1,ENABLE

windows - 如何在 Windows 7 64 位命令终端中识别 ANSI 颜色转义码

我已经尝试过Ansicon,但我仍然无法在Windows764位的CMD.EXE命令提示符中识别和解释ansi转义序列。有没有人能够正确地使用这个操作系统并获得彩色控制台? 最佳答案 我今天遇到了同样的问题,并找到了解决方法。命令行实用程序WindowsANSIColor检测ANSI颜色代码并设置相应的控制台颜色。例子:myapp.bat|wac其中wac是WindowsANSI颜色实用程序 关于windows-如何在Windows764位命令终端中识别ANSI颜色转义码,我们在Stac

c - 我想在我的 ANSI-C 代码中禁用 Windows XP 中的 CTRL+ALT+DEL?

我想在我的ANSI-C代码中禁用WindowsXP中的CTRL+ALT+DEL。有可能吗? 最佳答案 首先,捕获Ctrl-Alt-Del(安全注意序列)和禁用它是两件不同的事情。尽管许多人存在误解,但仍有可能禁用SAS。这里有3种方法:设置HKCU/Software/Microsoft/Windows/CurrentVersion/Policies/System/DisableTaskMgr=1把msgina.dll换成你自己的或者自己写一个键盘驱动。转到“开始”菜单,选择“运行”,然后键入“gpedit.msc”以运行组策略编辑器