在这个赋值中,我必须在c中创建一个tokeniser函数,它在删除空格的同时将字符串的内容复制到另一个字符串中。它返回应该查找下一个标记的位置。
令牌是一串字符或一个操作符char。
在我的尝试中,检测并绕过空格的计数器以某种方式停止将内容复制到第一个标记之后的结果字符串中。这是我的代码:
$ rvm -v
# rvm 1.19.1 (stable)
$ rvm osx-ssl-certs status all
# Certificates details
$ rvm osx-ssl-certs update all
# update certificates
答案 0 :(得分:1)
您的tokenize功能可以是:
int tokenise_ops(char str[], int start, char result[], char operators[])
{
int i = start;
int j = 0;
while ((str[i]==' ') && (str[i]!='\0'))
{
i++;
}
while(str[i]!='\0')
{
if(str[i]==' ' || checkOperators(str,operators,i)==1)
{
printf("Test2: %c\n", str[i]);
result[j] = '\0';
return i;
}
else
{
printf("Test: %c\n", str[i]);
result[j] = str[i];
i++;
j++;
}
}
result[j] = '\0';
return -1;
}
j
是result
索引,因此必须从0
每次调用开始result
时,str
必须以空值终止。