c - 在标准 C 中分割字符串而不使用 strtok() 和 strsep()?

标签 c string

假设我们有以下内容:

char mystring[PMAX];
char strncpy( mystring, "hello;this;is;my;string;how;are kljasdf; you?" , PMAX);

在标准 C 中分割字符串而不使用 strtok() 和 strsep()? 您会建议返回字符串的给定部分吗?

比方说:

strncpy( myoutput, strsplit( mystring, ';' , 6), PMAX );

myoutput 的内容将是 how (<- 这是第六个,带有 ';' 分隔符)。

最好的是只有这些,并且只能在任何机器上轻松移植:

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

我期待听到您的声音。

最佳答案

对于可预测的解析来说,没有什么比状态机更好的了。

关于c - 在标准 C 中分割字符串而不使用 strtok() 和 strsep()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42096763/

相关文章:

使用 VC++ 命令行创建 .dll 和 .lib 文件

c - 效率 : 8 arrays vs a multidimensional array

java - Java 中 String 相对于 StringBuilder 的优势

python - s.find() 和 s.index() 之间哪个更快

python - 使用 python 正则表达式的词标记化

c - 具有停止条件的阵列

c - 最大数量 "C"

在 C 中改变一个字符串的大小,有可能吗?

从 2 个子字符串创建一个字符串

Java从字符串中删除动态子字符串