例如:
istringstream ss("hello hi here haha");
string p;
while (iss >> p)
{
if (p == "hello")
statement1;
else if (p == hi)
statement2;
}
这里使用了语法分析,那么b在c中可以做什么呢?
最佳答案
这是一个示例代码,将您的代码片段转换为C:
#include <stdio.h>
#include <string.h>
int main ()
{
char s[] ="hello hi here haha";
char *tok;
char *last;
tok = strtok_r(s, " ", &last);
while (tok != NULL) {
if(!strcmp(tok, "hello"))
statement1;
else if(!strcmp(tok, "hi"))
statement2;
tok = strtok_r(NULL, " ", &last);
}
return 0;
}
更新,我在评论中按照Adam Rosenfield的建议将
strtok
的调用更改为strtok_r
。关于c++ - 在解析的情况下,可以在C中代替istringstream(在C++中)使用什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12753470/