草庐IT

US_ASCII

全部标签

c++ - 匹配非 ascii 字符的 switch 语句

我的源代码中有重音字符,并尝试用unicode等效字符替换它们。如果我使用实际的非ascii字符,程序可以正常编译和工作,但我担心这可能会影响可移植性。当我尝试使用unicode等价物时,我得到警告:大小写标签值超过类型的最大值或警告:字符常量对其类型而言太长并且大小写永远不匹配我运行程序。for(inti=0;id_namlen;i++){switch(ent->d_name[i]){case'á'://0x00E1...}}ent是从调用函数传递的structdirent*ent。代替case'á':我试过case'0x00E1':,caseL'u00E1:,case\U00000

c++ - 如何在 C/C++ 中将非 ASCII 字符注入(inject)字符串文字

我有一个读取字符数组的程序。我需要内存中字符串的值等于十六进制0x01020304,它们都是非ASCII字符。所以问题是,如何在运行时将非ASCII字符传递给字符串文字变量? 最佳答案 使用转义序列。确保按正确顺序放置字符。"\x01\x02\x03\x04"编辑:如果您需要将序列放入现有的char数组中,只需将其赋值即可。chars[4];//...later...s[0]=0x01;s[1]=0x02;s[2]=0x03;s[3]=0x04;不要尝试通过将s转换为(int32_t*)来分配数字,char数组没有正确对齐。

【C语言速查表】数据类型、转义与格式控制、ascii码

文章目录一、数据类型1.1通用1.2Windows1.21WinDef.h-->minwindef.h/winnt.h1.22BaseTsd.h1.23winerror.h1.3Unix/Linux二、转义与格式控制2.1转义2.2格式控制三、ASCII码一、数据类型1.1通用只列出简单数据类型。C语言中的基本数据类型包括以下几种:整数类型:int:用于表示整数,通常为机器字长大小(通常是4字节或8字节)。char:用于表示字符,通常为1字节。short:用于表示短整数,通常为2字节。long:用于表示长整数,通常为4字节或8字节,取决于编译器和平台。longlong:用于表示长长整数,通常为

c++ - ASCII DOS 游戏 - 渲染方法

我正在编写一个老式的ASCIIDOS提示符游戏。老实说,我正在尝试效仿ZZT以了解更多有关该品牌游戏设计的信息(即使它已过时)我做得很好,我的全屏文本模式可以正常工作,我可以毫无问题地创建世界和四处移动,但我找不到合适的渲染时间方法。我知道我的渲染和预渲染代码很快,因为如果我不添加任何delay()s或(clock()-renderBegin)/CLK_TCK从time.h检查渲染速度非常快。我不想使用delay(),因为据我所知,它是平台特定的,除此之外,我不能在它延迟时运行任何代码(比如用户输入和处理)。所以我决定做这样的事情:do{if(kbhit()){input=getch(

c++ - 获取 char 的 ascii 值,C++ 中的 Ord 等价物

在delphi中存在一个名为Ord的函数which返回序号类型表达式的序号值。例如,您可以通过这种方式检索字符的Ascii值Ord('A')返回65Ord('a')返回97在C++中,我必须使用哪个函数来获取Char的ascii值? 最佳答案 一个简单的inta=c;应该可以工作,其中c是一个char。 关于c++-获取char的ascii值,C++中的Ord等价物,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

c++ - 可以打开小的 ASCII 文件,但不能打开大的二进制文件吗?

我正在使用以下代码在Windows上的MSVC中打开一个大型(5.1GB)二进制文件。机器有足够的内存。问题是长度被检索为零。但是,当我将file_path更改为较小的ASCII文件时,代码可以正常工作。为什么我无法加载大型二进制文件?我更喜欢这种方法,因为我想要一个指向文件内容的指针。FILE*pFile;uint64_tlSize;char*buffer;size_tresult;pFile=fopen(file_path,"rb");if(pFile==NULL){fputs("Fileerror",stderr);exit(1);}//obtainfilesize:fseek(

未能安装包“Microsoft.VisualStudio.MinShell.Msi.Resources,version=15.0.26228.0,language=en-US”。

我在安装VisualStudio2017的【通用Windlows平台开发】和【使用C++的桌面开发】组件时分别报错:未能安装包“Microsoft.VisualStudio.MinShell.Msi.Resources,version=15.0.26228.0,language=en-US”。未能安装包“Microsoft.VisualStudio.Community.Msi.Resources,version=15.0.26228.0,language=en-US”。查看日志文件如下:安装出现问题。可通过以下方式排查包故障问题:1.使用以下搜索URL来搜索针对每个包故障的解决方案2.针对受与

c++ - 负 ASCII 值

负ASCII值有什么意义?inta='«';//a=-85butasinASCIItable' 最佳答案 没有负数ASCII值。ASCII包括128个字符的定义。他们的指数都是正数(或零!)。您看到此负值是因为该字符来自ExtendedASCII集并且太大而无法放入char文字中。因此,该值会溢出到定义负值的char位(显然是在您的系统上签名)。解决方法是直接写入值:unsignedchara=0xAE;//«为了约定,我用十六进制表示法编写它,因为我认为它看起来比174更漂亮。:) 关

c++ - fstream::open() Unicode 或非 Ascii 字符在 Windows 上不起作用(使用 std::ios::out)

在一个C++项目中,我想打开一个文件(fstream::open())(这似乎是个大问题)。我的程序的Windows构建失败得很惨。文件“ä”(UTF-80xC30xA4)std::strings=...;//Convertsstd::fstreamf;f.open(s.c_str(),std::ios::binary|std::ios::in);//Works(f.is_open()==true)f.close();f.open(s.c_str(),std::ios::binary|std::ios::in|std::ios::out);//Doesn'twork字符串s是UTF-8

c++ - 在 C++ 中输出 ascii 表

代码:#include#includeusingnamespacestd;classAscii_output{public:voidrun(){print_ascii();}private:voidprint_ascii(){inti,j;//iisusedtoprintthefirstelementofeachrow//jisusedtoprintsubsequentcolumnsofagivenrowcharch;//chstoresthecharacterwhichistobeprintedcout输出:为什么我没有在值96-255处得到正确缩进的输出和奇怪的字符?