C - 获取两个分隔符之间的所有子字符串

问题描述

我正在尝试创建一个响应用户输入的多个命令的应用程序。问题是这些命令有多个参数。一些例子是

login 'username' 'password'
add song 'song_name' 'description' 'genre' 'link'

输入被读入一个字符数组。

char recv[max]=" ";
if (read (fd,recv,sizeof (recv)) < 0)
    {
        perror ("[server]Error on read () from client.\n");
        return errno;
    }

这是使用服务器的更大 uni 项目的一部分,所以这就是使用 read() 的原因。最大值定义为 1024。

虽然我可以使用 strstr() 来识别哪个命令是哪个命令,但我不确定如何将用户名、密码等作为单独的子字符串获取

我知道我可以通过将输入+命令长度复制到另一个字符中来摆脱命令部分,因为它是固定的,但我很想知道如何选择两个 ' 之间的每个子字符串. strtok() 能完成这项工作吗?

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)