【发布时间】:2022-01-20 17:57:30
【问题描述】:
在my previous post 中,我找到了使用C++ 字符串执行此操作的解决方案,但我想知道在C 中是否也有使用char 的解决方案。
我目前的解决方案使用str.compare() 和size() 的字符串,如my previous post 所示。
现在,由于我在std::string 中只使用一个(多字节)字符,是否可以使用char 来实现相同的效果?
例如if( str[i] == '¶' )?如何使用char's 实现这一目标?
(编辑:如 cmets 中所指出的,在 SO 上为比较运算符创建了一个类型)
【问题讨论】:
-
使用
strcmp()比较C中的字符串。 -
if( str[i] = '¶' )你分配了一个值,你没有做测试 -
术语 multibyte 和
char会暗示(至少对我而言)您的愿望存在基本的不兼容。char(根据定义)大小为一个字节。 -
我对“如何使用 char 实现这一点?”感到困惑。 str[i] 和 '¶' 都是
char类型。也许您希望分配char foo = str[i],然后分配if (foo == '¶')。这假设您打算比较而不是分配,如上所述 -
@MANA624:实际上,在 C 中(但不是在 C++ 中),单引号文字的类型为
int,而不是char。
标签: c character-encoding cross-platform multibyte