【问题标题】:How to compare an ASCII value如何比较 ASCII 值
【发布时间】:2011-11-19 21:33:47
【问题描述】:

我想将字母的 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 文件?所以它可以保存在字符变量中。

【问题讨论】:

    标签: c file text ascii file-read


    【解决方案1】:

    只要做:

    if (r == 82) {
       // provided r is a char or int variable
    }
    

    C 中,char 变量由它们的 ASCII 整数值表示,所以,如果你有这个:

    char r;
    r = 82;
    if (r == 82) {
    }
    

    等同于:

    char r;
    r = 'R';
    if (r == 'R') { // 'R' value is 82
    
    } 
    

    你甚至可以混合它们:

    char r;
    r = 82;
    if (r == 'R') { // will be true
    
    }
    

    【讨论】:

    • 在 C 中,变量不是必需 ASCII,只有大约 99.9% 的机器是这样的,不幸的是,我在其他机器上工作: -)
    • USS/OMVS/(这周叫什么名字)在大型机上使用 EBCDIC。
    • @paxdiablo:哦!我知道了。感谢分享。
    【解决方案2】:

    如果您只想将ascii 值保存到整数变量中

    就用这个

    int b;
    char c = 'r';
    b = (int)c;
    printf("%d",b);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多