【问题标题】:C programming - enum switch case with TCHARC 编程 - 使用 TCHAR 的枚举 switch case
【发布时间】:2014-07-30 16:30:43
【问题描述】:

我正在用 C 做一个 win32 程序,但我不知道如何用 UNICODE 做一个 enum 和 switch case。 我从客户端收到一个具有这种结构的命名管道

    typedef struct {
TCHAR UtilOrigem[10];
TCHAR Comando[3]; // Comando
TCHAR Argumento1[10];
}cmd;

cmd.comando 的值为“00”、“01”、“02”.....

我想用 cmd.comando 做一个 switch case。

请帮助我。 谢谢 卡洛斯

【问题讨论】:

标签: c enums switch-statement tchar


【解决方案1】:

试试这个:

int val = _ttoi(cmd.comando);
switch (val)
{
case 0:
   ...
   break;
case 1:
   ...
   break;
case 2:
   ...
   break;
...
}

甚至更简单:

int val = 10*(cmd.comando[0]-L'0')+(cmd.comando[1]-L'0');
switch (val)
{
case 0:
   ...
   break;
case 1:
   ...
   break;
case 2:
   ...
   break;
...
}

【讨论】:

  • 如果UNICODE 被定义为问题所暗示的,'0' 将需要为L'0'
  • @AndrewMedico:我同意,谢谢(在添加第二个选项后确实想知道它)。
  • @cacc:不客气。不要忘记通过单击旁边的 V 来接受答案(如果它解决了您的问题)。
  • 非常感谢。这是我第一次在这个论坛上提出问题,但现在我在几年前咨询过。 @barakmanos
  • @cacc:没问题。 V 就在答案旁边。如果你点击它,它就会变成绿色,我得到 15 分。
猜你喜欢
  • 2012-04-30
  • 2021-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-10
  • 1970-01-01
  • 2014-05-14
  • 1970-01-01
相关资源
最近更新 更多