c - 有条件的 strtok()?
问题描述
我正在尝试使用 strtok() 将输入分成五个部分,每个部分用冒号分隔
ab:c:X:cf:b
但是,用户也可以选择不为输入的某些部分输入任何内容
f::V:pq:
有没有办法使用 strtok 来解决这个问题?到目前为止,这是我的代码,但它没有按预期工作。
piece = strtok(action_def, ":");
if (piece!=NULL) {
execute
}
piece = strtok(NULL, ":");
if (piece!=NULL) {
execute
}
piece = strtok(NULL, ":");
action_list[action_n]->name = *piece;
piece = strtok(NULL, ":");
if (piece!=NULL) {
execute
}
// last char recorded by fgets is '\n'
piece = strtok(NULL, "\n");
if (piece!=NULL) {
execute
}
解决方案
推荐阅读
- python-3.x - 如何在python中读取文件
- algorithm - 创建一个算法来确定上下文无关语法是否可以生成空词(ε)
- python - 在python中使用re(正则表达式)获取整个路径字符串
- debugging - VS 2017 - 开始和结束调试非常慢
- python - python中的系列数据结构是可迭代的吗?
- php - 在相关选择中显示选项计数
- c# - 如何在数据列上方写工作表名称
- react-native - React-Native 与网站交互,例如网页上的单击按钮、选择复选框等
- python - 在 Python 中使用 turtle 模块生成嵌套图像的问题
- corda - 如何从corda中的RPC客户端访问引用的对象?