【问题标题】:converting a string to a simple one character value in C language在 C 语言中将字符串转换为简单的单字符值
【发布时间】:2021-02-20 22:20:24
【问题描述】:

我正在使用 C 语言编写带有 Flex 和 Bison 的编译器,需要将字符串转换为一个简单的字符。我应该使用哪些功能?我找不到它。 例如:

-string to integer we use : int i = atoi(yytext);
-string to float we use :   float f = atof(yytext);

【问题讨论】:

  • “将一个字符串转换为一个简单的字符”是什么意思?
  • 例如,一个字符的字符串“c”将是一个字符'c'。我们在将字符串转换为整数时使用此方法:“2021”将是 int integer= atoi("2021" ); // 2021
  • C 中的字符串只是字符数组(以 0 结尾),字符是小整数。如果你打算尝试在 C 中使用 flex 和 bison,你真的需要了解 C 表示字符串的方式。希望您手边有某种 C 教科书。
  • 你需要answer below吗?
  • 是的,它解决了问题。非常感谢我的朋友们

标签: c string char bison


【解决方案1】:

如果我理解您的问题,具有一个值的字符串只是 [0] 的字符串,那么为什么不干脆做类似...

char new_char = char_string[0];

【讨论】:

  • 这可能是 OP 所要求的,警告 char 不一定会转化为实际的可打印字符;这取决于编码。例如,æ。
猜你喜欢
  • 2015-07-21
  • 2016-07-29
  • 2019-11-05
  • 2012-12-07
  • 1970-01-01
  • 2011-02-22
  • 1970-01-01
  • 1970-01-01
  • 2014-11-27
相关资源
最近更新 更多