Tag: ascii

如何比较ASCII值

我想将字母的ASCII值存储到变量中,我该怎么做? 例如 : r ASCII variable = 82 main() { character = “character read from a file”; variable= “r ascii”; //(in this case 82), the problem is that the letter is always variable.; printf( “the value of %c is %d, character, variable) } 我怎样才能做到这一点? 另外还要注意,如何逐个字符地读取.txt文件? 所以它可以保存在字符变量上。

将ASCII代码转换为字符值

我刚开始学习如何在C中编程,我正在尝试创建一个接受数字的程序,并将其用作ASCII值来返回与该值相关联的ASCII字符。 程序在预定义参数时工作,但是当我引入scanf函数时,它编译但不会给我相同的结果。 这是我的代码: #include int main(void) { question2(); return 0; } int question2(void) { int myInt = 65; scanf(“%d”, myInt); char ch = myInt; printf(“%c”,ch); return 0; } 干杯谢谢你的帮助。

从C中的hex字符串转换为ASCII字符串

我试图将hex字符串转换为其等效的ASCII。 我被赋予字符串的“hex”值作为字符串,即代替“ABCD”我得到“41424344”。 我只需要提取41这将是我的hex值并重新编码为“ABCD”。 这就是我所拥有的。 int main(int argc, char *argv[]){ char *str = “ABCD”; unsigned int val = 0; int i = 0; int MAX = 4; for (i = 0; i<MAX; i++){ val = (str[i] & 0xFF); //printf("dec val= %d\n", val); //printf("hex val= %02x\n", val); } val = 0; char *hexstr = "41424344"; char *substr […]

如何检查字符常量是否符合ASCII?

对我的这个答案的早期版本的评论提醒我,我不能假设’A’ , ‘B’ , ‘C’等具有连续的数值。 我有点假设C或C ++语言标准保证这是事实。 那么,我该如何确定连续字母字符的值本身是否连续? 或者更确切地说,我如何确定单引号中可以表达的字符常量是否具有数字值的ASCII代码? 我问的是如何在C和C ++中做到这一点。 显然C语言也可以在C ++中运行,但是如果有一个C ++ ish工具来做这个我也对它感兴趣。 另外,我问的是最新的相关标准(C11,C ++ 17)。

将无符号16位整数存储到文件的最有效方法

我正在使用字典最大大小为64000的字典压缩器。因此,我将我的条目存储为16位整数。 我正在做什么:要编码’a’,我得到它的ASCII值,97,然后将此数字转换为16位整数97的字符串表示。所以我最终编码’0000000001100001’为’a ‘,这显然不会在短期内节省太多空间。 我知道这个算法的更有效版本将从较小的整数大小开始(在我们需要更多的情况下存储的位数较少),但我想知道是否有更好的方法来 将我的整数’97’转换为固定长度的ASCII字符串,可以存储16位数据(97将是x位,46347也将是x位) 写入只能存储1和0的文件。 因为实际上,似乎我在文本文件中写了16个ascii字符,每个字符都是8位……所以这并不能真正帮助这个原因,是吗? 如果我能以任何方式更清楚,请告诉我。 我对这个网站很新。 谢谢! 编辑:就我所知,我如何存储我的字典完全取决于我。 我只知道我需要能够轻松地读回编码文件并从中获取整数。 另外,我只能包含我为该程序编写的stdio.h,stdlib.h,string.h和头文件。

C \ C ++:初始化ASCII特殊字符?

如何初始化特殊的ASCII字符,例如EOT(0x04),ENQ(0x05)? char CHAR1 = ‘\EOT’; char CHAR2 = ‘\ENQ’; 它是否正确?

为什么’\’97’ascii值等于55

就像C代码一样: #include int main(void) { char c = ‘\97′; printf(“%d”,c); return 0; } 结果是55 ,但我无法理解如何计算它。 我知道八进制数或hex数跟在’\’后, 97是hex数吗?

ASCII表 – 负值

可能重复: 负ASCII值 int main() { char b = 8-‘3’; printf(“%c\n”,b); return 0; } 我运行这个程序,我得到一个看起来像问号(?)的标志。 我的问题是,为什么它打印出来而不打印任何内容,因为据我所知,ASCII表中的b值为-43,这是不存在的。 顺便说一下,当我编译这段代码时: int main() { char b = -16; printf(“%c\n”,b); return 0; } 我一无所获。

如何在C中检查文件是文本(ASCII)还是二进制文件

我需要编写C代码来检查文件是文本(ASCII)还是二进制文件 有人可以帮忙吗? 谢谢

使用fscanf读取ASCII代码文件

我正在尝试读取ASCII文本文件并将其写入二进制文件。 文本文件的大小不受限制。 首先,我在写之前尝试读取文本文件。 但是,我一直在分段错误。 我不明白可能导致问题的原因。 即使使用gdb,我仍然无法弄清楚问题。 请指教。 码: # include # include # include typedef struct _FileData { int a; double b; char dataStr[56]; }FileData; int main() { FILE * infile=fopen(“output.txt”, “r”); if(infile==NULL) { printf(“Error opening file”); exit(1); } FileData **input; int i=0; while( fscanf(infile,”%d %f %[^\n]s”,&input[i].a,&input[i].b,&input[i].dataStr)! =NULL) { printf(“%d”,input[i].a); printf(“%.3f”,input[i].b); printf(“%[^\n]s”,input[i].dataStr); i++; } return […]