C通用字符串编程

标签 c string struct compare

如果不允许我使用 <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/

相关文章:

c - 为什么在初始化结构时出现段错误?

c - C 中嵌套 printf 和 scanf 的输出

c - 程序正在比较除数组 [0] 之外的每个数组条目并正常工作

c - C 中的结构 x 与 x_t

swift - 测量格式化程序 : space between value and unit

ios - Swift.String.Index(_rawBits : )) 是什么意思

C++:将结构传递给函数,无法理解语法

C 程序因大型数组而崩溃

c - 为什么我的 write 方法没有初始化?

javascript - 字符串旋转和字谜检测