C - 分割字符串
C 中是否有任何预定义函数可以分割给定定界符的字符串?假设我有一个字符串:
"Command:Context"
现在,我想将“Command”和“Context”存储到二维字符数组
char ch[2][10];
两个不同变量
char ch1[10], ch2[10];
或我尝试使用循环的 ,并且效果很好。我只是好奇是否已经存在这样的功能,我不想重新发明轮子。请提供一个清楚的例子,非常感谢!
Is there any pre-defined function in C that can split a string given a delimeter? Say I have a string:
"Command:Context"
Now, I want to store "Command" and "Context" to a two dimensional array of characters
char ch[2][10];
or to two different variables
char ch1[10], ch2[10];
I tried using a loop and it works fine. I'm just curious if there is such function that already exists, I don't want to reinvent the wheel. Please provide a clear example, thank you very much!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 strtok
< a href="http://codepad.org/Da9ixGLP" rel="nofollow">在线演示:
输出:
You can use strtok
Online Demo:
Output:
您可以按照以下示例使用
strtok
标记字符串:输出:
strtok
函数有一些您可能需要注意的小问题。首先,它修改字符串本身以编织其魔力,因此不适用于字符串文字(例如)。You can tokenise a string with
strtok
as per the following sample:Output:
The
strtok
function has some minor gotchas that you probably want to watch out for. Primarily, it modifies the string itself to weave its magic so won't work on string literals (for example).