gpt4 book ai didi

c - 如何在C中将字符串转换为字符

转载 作者:太空宇宙 更新时间:2023-11-04 01:42:50 24 4
gpt4 key购买 nike

我正在用 C 编写编译器,需要获取源代码文件中定义的字符的 ASCII 值。对于普通字母,这​​很简单,但是有什么方法可以将字符串“\n”转换为 C 中“\n”的 ASCII 码(需要处理所有字符)?

干杯

最佳答案

如果字符串是一个字符长,你可以只索引它:

char *s = "\n";
int ascii = s[0];

但是,如果您在使用的字符集不是 ASCII 的系统上,则以上不会为您提供 ASCII 值。如果您需要确保您的代码在这种罕见的机器上运行,您可以自己构建一个 ASCII 表并使用它。

另一方面,如果您有两个字符,即

char *s = "\\n";

然后你可以这样做:

char c;
c = s[0];
if (c == '\\') {
c = s[1]; /* assume s is long enough */
switch (c) {
case 'n': return '\n'; break;
case 't': return '\t'; break;
...
default: return c;
}
}

以上假定您当前的编译器知道'\n' 的含义。如果没有,那么您仍然可以这样做。要了解如何做到这一点,以及一个引人入胜的故事,请参阅 Reflections on Trusting Trust作者:肯·汤普森。

关于c - 如何在C中将字符串转换为字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2323162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com