【发布时间】:2020-08-14 21:00:53
【问题描述】:
我编写了一个程序,它以格式化的方式从动态分配的字符串中读取数据到 2 个字符串和 1 个 int 的结构中。但是,在用 char 指针替换静态 char 数组结构字段时,程序停止工作并以超时结束。是否不可能将 sscanf() 与动态分配的数组一起使用?有什么简单的方法可以让我的程序适应动态分配的字符串?
【问题讨论】:
-
是的,sscanf 与动态分配的字符串“兼容”。现在展示我们可以帮助您调试的实际代码。
-
你如何分配数据并不重要,只要你分配了足够的空间来容纳输入。包括空终止符的空间。所以你的问题不是动态分配的存在引起的。
-
“在用 char 指针替换静态 char 数组结构字段时......”:我猜这些指针没有指向它们应该指向的位置。您应该至少向我们展示您更改前后的相关行,然后也许我们可以提供更多帮助。
标签: c arrays string memory-management