gpt4 book ai didi

c - 使用 strtok() 函数时的内存分配

转载 作者:行者123 更新时间:2023-11-30 19:11:22 25 4
gpt4 key购买 nike

每次使用 strtok() 时是否都必须为字符串重新分配内存,还是该函数会为您执行此操作?我想知道,因为我正在编写一个程序,该程序从文件中读取一行并将其分解为标记。我想将每个标记存储在名为 cell 的变量中。我可以创建多个字符串并将它们放入链接列表中,但这会给程序增加很多开销,所以我想尽可能避免它。假设您将 cell 的值设置为从 strtok() 返回的第一个字符串,使用它,然后将其值设置为从 strtok 返回的第二个字符串(),使用赋值语句。我知道这只会将指针重定向到新的字符数组,而放弃旧的数组。这是否会导致旧字符串成为丢失的对象,或者 strtok() 会为您释放旧字符串吗?

最佳答案

strtok 不分配任何字符串,它会将 \0 字符插入到源字符串中,并返回指向现在分隔的标记的指针。源字符串的内存现在是存储多个字符串(标记)的内存。

关于c - 使用 strtok() 函数时的内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40264178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com