如果不允许我使用 <string.h>
库,如何轻松比较字符串的值。我有一个数据文件,其中一个结构成员有 6 个可能的值。我需要做的就是创建一个循环来计算结构数组中每个值的数量。问题是,我无法弄清楚如何比较该值以及何时增加计数器。
for (i = 0; i < datasize; i++){
if (struct.membervalue == given)
givencount++;
if (struct.membervalue == given2) // But I can't compare them with the ==
givencount2++ ; // because they are strings.
}
编辑:我必须使用的预定义枚举
typedef enum {
penny = 1,
nickel = 5,
dime = 10,
quarter = 25
}changeT;
我的值是“便士”,我如何与之比较或关联?
最佳答案
bool isEqual(const char *string1, const char *string2)
{
do
{
if (*string1 != *string2) return false;
if (*string1 == 0) return true;
++string1;
++string2;
} while (1);
}
更新:enum
没有改变任何东西。您仍然必须先识别字符串 “penny”
,然后才能为其分配一分钱的值。
关于C通用字符串编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14575472/