首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C字符串标记化问题

C字符串标记化问题
EN

Stack Overflow用户
提问于 2009-09-25 14:33:36
回答 2查看 138关注 0票数 1
代码语言:javascript
运行
复制
char *str = malloc (14);
sprintf(str, "%s", "one|two|three");

char *token1, *token2, *token3;
char *start = str;

token1 = str;
char *end = strchr (str, '|');
str = end + 1;
end = '\0';

token2 = str;
end = strchr (str, '|');
str = end + 1;
end = '\0';

...

free(start);

由于我已经将字符串中字节设置为null以便对其进行标记化,因此空闲是否可以正常工作?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-25 14:35:16

是的,它是有效的,自由并不关心空终止在哪里。或者即使有也是如此。您可以将malloc/free用于任何类型的数据,而不仅仅是以null结尾的字符串。

票数 5
EN

Stack Overflow用户

发布于 2009-09-25 14:35:27

free不检查数据的内容。所以,是的,这是正确的

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1477643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档