c - 基于字符将字符串分解为数组的有效方法,例如 C 中的%?

标签 c string

可以在这里找到类似的 C 语言。

我需要根据字符示例的出现将句子分解为字符数组:%

示例

如果我的句子是my%healthy%dog,那么我应该能够分别得到my、healthy和dog。 这也可能处于循环中。

发送

最佳答案

strtok是实现字符串标记化的标准 C 函数。

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

int main()
{
        char c[] = "my%healthy%dog";
        char *token = strtok(c, "%");
        while (token != NULL)
        {
                printf("%s\n", token);
                token = strtok(NULL, "%");
        }
        return 0;
}


$ ./a.exe
my
healthy
dog

另请注意,strtok 在内部使用静态变量,因此它不是线程安全的。为了线程安全,您必须使用 strtok_r功能。

关于c - 基于字符将字符串分解为数组的有效方法,例如 C 中的%?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1505128/

相关文章:

c++ - C 和 C++ 中的二维数组差异

c++ - C 读取文件时出错

c - "scanf"函数使我的整个程序崩溃?

c++ - 如何比较 const char* 与 C++ 中的字符串?

C++ 程序不适用于某些输入

json - 将日程表表示为字符串(或 JSON)

string - 在matlab中组合字符串和数字

C - 切换菜单内的图案打印

python - 使用进程时程序挂起

C++ 从 'char' 到 'const char' 的无效转换