我正在try 判断字符是否属于无效字符的列表/array.

我有Python的背景,过go 我只能说:

for c in string:
    if c in invalid_characters:
        #do stuff, etc

如何使用常规的C字符数组实现这一点?

推荐答案

等效的C代码如下所示:

#include <stdio.h>
#include <string.h>

// This code outputs: h is in "This is my test string"
int main(int argc, char* argv[])
{
   const char *invalid_characters = "hz";
   char *mystring = "This is my test string";
   char *c = mystring;
   while (*c)
   {
       if (strchr(invalid_characters, *c))
       {
          printf("%c is in \"%s\"\n", *c, mystring);
       }

       c++;
   }

   return 0;
}

请注意,无效的_字符是C字符串,即以null结尾的chararray.

C++相关问答推荐

C中的整字母后缀i是什么

获取二维数组的最大元素

理解C中的指针定义

为什么getchar()挂起了,尽管poll()返回了一个好的值?""

ESP32在vTaskDelay上崩溃

C lang:当我try 将3个或更多元素写入数组时,出现总线错误

以下声明和定义之间的区别

我在这里正确地解释了C操作顺序吗?

是否可以使用指针算法在不对齐的情况下在 struct 中相同类型的字段的连续序列之间移动?

如何在C中打印包含扫描字符和整数的语句?

加密解密工作正常,但返回错误0x80090005

Kdb:仅升级指定的列

在C++中允许使用字符作为宏参数

类型定义 struct 与简单的类型定义 struct

如何在不使用字符串的情况下在c中编写函数atof().h>;

try 查找带有指针的数组的最小值和最大值

是否有单独的缓冲区用于读写库调用?

C程序printf在getchar while循环后不工作

为什么<到达*时不会转换为>?

如何用用户输入的多个字符串填充数组?