释放 malloc 失败

2024-02-01

我有这样的东西

char *temp, xyz;
temp = (char *)malloc(sizeof(somestring));

xyz = (char *) malloc(sizeof(temp));
xyz= strrchar(temp, "_"); // temp does not contain "_", but need to check for error validation

现在如果我尝试做 免费(临时); 它崩溃了;

任何想法,我是初学者。


第一个问题是xyz is not被宣布为char *,只有一个char.

给出以下变量声明:

char *temp, xyz;
  • temp是一个指向 a 的指针char.
  • xyz只是一个char.

The * doesn't适用于两个变量。使两个变量都指向char, use:

char *temp, *xyz;

下一篇:你混淆了sizeof with strlen. sizeof给出类型或该类型的变量占用的大小。因此,如果temp is a char *, then sizeof(temp)将是指针的大小,notC 字符串的长度。获取 C 字符串长度 - 例如获取复制给定 C 字符串所需的缓冲区大小 - 使用strlen http://en.cppreference.com/w/c/string/byte/strlen.

最后,除非您省略了一些重要的代码,否则还会出现另一个问题:简单地使用malloc不会对新分配的内存执行任何操作,因此之后:

temp = (char *)malloc(sizeof(somestring));

temp指向未初始化的内存位(如上所述,它可能比您想象的要小,这是由于使用sizeof而不是strlen)。然后你继续use temp就好像它是一个有效的 C 字符串一样strchr。这可能会访问不属于您的内存,从而调用未定义的行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

释放 malloc 失败 的相关文章

  • 使用 TCP 套接字在本地代理视频

    我一直对向媒体浏览器添加对视频播客的支持非常感兴趣 我希望用户能够浏览可用的视频播客并从互联网上流式传输它们 这真的很容易 因为媒体播放器等将愉快地播放存在于云中的文件 问题是我想在本地缓存这些文件 因此同一集的后续观看将不涉及流式传输 而
  • 将 ARGB 拆分为字节值

    我有一个 ARGB 值存储为 int 类型 它是通过调用 ToArgb 来存储的 我现在想要来自 int 值的各个颜色通道的字节值 例如 int mycolor 16744448 byte r g b a GetBytesFromColor
  • 提取单花括号内的值

    我想要一个收藏 value 一个字符串使用正则表达式 例如 lorem ipsum field1 lorem ipsum field2 lorem ipsum field1 lorem ipsum field2 field3 我会得到 fi
  • 值类型如何实现引用类型

    我遇到了一个值类型正在实现 ref 的场景 类型 只是想知道这怎么可能 幕后发生了什么 结构体是值类型 接口是引用 类型但结构可以实现接口而不会出现任何错误 有什么想法吗 提前致谢 实际上 它同时以两种不同的方式进行 首先 任何值类型都可以
  • _MM_TRANSPOSE4_PS 在 GCC 中导致编译器错误?

    我第一次在 GCC 而不是 MSVC 中编译我的数学库 并经历了所有的小错误 我遇到了一个根本没有意义的错误 Line 284 error lvalue required as left operand of assignment 284号
  • 是否自初始化 'A a = a;'允许吗?

    此代码在运行时在复制构造函数中失败 但编译器 MSVS2008 没有发出警告 您能解释一下 最好引用标准 这段代码是否非法或什么 我理解 A a a 永远不应该写在第一位 但我正在寻找理论背景 class A public A p new
  • FFplay成功移入我的Winform中,如何设置它无边框?

    用这个代码 在 C 应用程序中显示 tcp 视频流 来自 FFPLAY FFMPEG https stackoverflow com questions 14201894 show a tcp video stream from ffpla
  • 使用 FromBase64Transform 解码 base64 文件流

    The example https msdn microsoft com en us library system security cryptography frombase64transform 28v vs 110 29 aspx从M
  • 为什么最小的 int -2147483648 的类型为“long”? [复制]

    这个问题在这里已经有答案了 对于一个学校项目 我必须编写 C 函数 printf 的代码 一切进展顺利 但有一个问题我找不到好的答案 所以我来了 printf PRINTF d t d n 2147483648 告诉我 gcc Werror
  • “DeploymentItem”属性是什么意思?

    假设我们有一个简短的程序 namespace ConsoleTryIt static class Program static void Main string args var sum Add 1 2 private static int
  • 当分配返回 0 时,具有空异常规范的运算符 new 调用构造函数

    我有以下声明 void operator new size t s PersistentMemory m throw return m gt allocatePersistentMemory s 我正在测试启动时的内存耗尽 这会导致m gt
  • WCF 服务中的缓冲区大小

    我们有一个 WCF 服务 它执行某些存储过程并将结果返回给 silverlight 客户端 某些存储过程最多返回 80K 行 下面给出的是 web config 中服务的设置
  • 当一对迭代器初始化时,向量是否知道先保留?

    考虑以下代码 struct MyData MyData const BYTE pData size t uSize bucket pData pData uSize std vector
  • 链接到ntdll.lib并调用ntdll.dll内部的函数

    我最近正在对私有 API 进行一些研究 我尝试调用诸如NtOpenFile在 ntdll dll 中LoadLibrary and GetProcAddress在运行时 幸运的是 它成功了 今天早上我在电脑上进行了文件搜索 发现ntdll
  • 快速将文本附加到文本框

    我有一个BackgroundWorker正在发布消息的线程 使用BeginInvoke在 GUI 中的文本框中 方法 write debug text 在文本框中显示文本使用AppendText并将文本写入Console 外观上是这样的Ba
  • 如何在 stl 模板中使用导出类 (__declspec(dllexport))?

    我正在使用导出的类 class declspec dllexport myclass private template declspec dllexport class std map
  • 调用泛型类的方法

    这是上下文 我尝试编写一个映射器来动态地将域模型对象转换为 ViewModel 对象 我遇到的问题是 当我尝试通过反射调用泛型类的方法时 出现此错误 System InvalidOperationException 无法对 Contains
  • 打印任何类型的数组和列表的通用方法[重复]

    这个问题在这里已经有答案了 每当我调试一段涉及整数 双精度 字符串等数组或列表的代码时 有时我更喜欢打印它们 我为此所做的是为不同类型编写重载的 printArray printList 方法 for e g 我可能有这 3 种方法来打印各
  • 如何从 C# 中的 Web Api 方法正确获取字节数组?

    我有以下控制器方法 HttpPost Route SomeRoute public byte MyMethod FromBody string ID byte mybytearray db getmybytearray ID working
  • 如何使用实体框架设置连接字符串

    我将 EF6 与 MySQL 结合使用 并有一个用于多个数据库的模型 我希望能够在我的表单中设置连接设置 如何以编程方式设置模型的连接字符串 你应该使用EntityConnectionFactory这就是您所需要的 public strin

随机推荐

  • 仅从工作副本中删除文件,但不从存储库中删除文件

    由于我在网上找不到上述问题的答案 所以我自己提出了解决方案 这是一个手动过程 但我找不到任何其他标准解决方案 所以这里是 假设你想删除该文件test txt从目录work 现在 如果您通过以下方式强制删除 test txt rm rf 测试
  • 并非所有代码路径都返回“值”

    您好 我正在尝试制作一个主脑游戏 让用户猜测 4 10 之间的数字序列而不是颜色 但由于某种原因 我的 GetRandomNumberCount 和生成随机数给我错误 并非所有代码路径都返回值 任何指导将不胜感激 public static
  • 构建器模式和大量强制参数

    迄今为止我使用的是下列的 http rwhansen blogspot com 2007 07 theres builder pattern that joshua html构建器模式的实现 与描述的实现相反 here http en wi
  • 如何知道哪个应用程序正在读取或写入文件

    Android 或 Android NDK 中是否有任何方法可以知道哪个应用程序正在磁盘或设备内存上读取或写入数据 您可以在输出中查找您的文件 ls l proc fd 为此 您不需要任何特殊工具或根 解释 每个正在运行的进程都有一个条目
  • Lotus Notes 使用 Java api 按日期搜索

    我试图从 Lotus Notes 数据库中按日期选择记录 但在正确设置日期格式方面遇到了麻烦 这是相关代码 public void runNotes Session s try s NotesFactory createSession St
  • 为什么我会得到负值位移的奇怪结果?

    这个问题不是重复的这个问题 https stackoverflow com questions 1857928 right shifting negative numbers in c 我遇到过一种情况 我可能必须将 正 数字左移负值 即
  • 根据查找表替换数据框中的值

    我在替换数据框中的值时遇到一些问题 我想根据单独的表替换值 下面是我正在尝试做的事情的一个例子 我有一张表 其中每一行都是客户 每一列都是他们购买的动物 我们称这个数据框为table gt table P1 P2 P3 1 cat liza
  • 无法将“cv::VideoCapture”转换为“CvCapture*”

    我有一个简单的程序 可以拍摄视频并播放它 尽管它对视频进行了一些图像处理 可以从对话框结果中检索视频 也可以直接通过给出文件路径来检索视频 当我使用CV CvCapture 捕获1 我得到像 capture1 isOpen 这样的属性 ca
  • RequireJS:如何将变量从一个文件传递到另一个文件?

    我将 require 与骨干 骨干形式一起使用 我目前正在使用 RequireJS 将代码分成多个文件 我将模型存储在单独的文件中 并希望单独保留表单验证器 但是 我无法访问一个文件以及依赖于该文件的另一个文件中定义的变量 我得到的是Unc
  • 如何国际化delphi应用程序[重复]

    这个问题在这里已经有答案了 可能的重复 翻译申请 https stackoverflow com questions 12311926 translate application 国际化用 delphi xe2 编写的应用程序的最佳方法是什
  • 执行长字传输到 CPU 需要多少个周期和大小

    该任务针对架构 ColdFire 处理器 MCF5271 我不明白执行到 CPU 的长字传输或字传输需要多少个周期以及什么大小的周期 我正在阅读图表 但不明白其中有何联系 非常感谢任何评论 我附上了两个例子和答案 数据总线大小 https
  • 从文件名获取目录名

    我有一个文件名 C folder foo txt 并且我需要检索文件夹名称 C folder 在 C 中 在 C 中我会做这样的事情 string folder new FileInfo C folder foo txt Directory
  • 在 RMarkdown 中的标题页后插入空白页

    我试图在我的 RMarkdown 文档 pdf 输出 的标题页和目录之间插入空白页 我遵循了所描述的建议here https stackoverflow com questions 28962651 inserting title page
  • 数组的随机打乱

    我需要随机洗牌以下数组 int solutionArray 1 2 3 4 5 6 6 5 4 3 2 1 有什么功能可以做到这一点吗 使用集合来打乱原始类型数组有点过分了 自己实现该功能非常简单 例如使用费舍尔 耶茨洗牌 http en
  • 如何在 Apache httpclient 中使用指数退避策略?

    The docs https hc apache org httpcomponents client dev httpclient cache apidocs org apache http impl client cache Expone
  • 即使我使用 Content-Disposition: inline,PHP 也会强制下载 PDF 文件

    如果可能的话 我正在尝试在浏览器中显示 PDF 而且我知道我可以在 Chrome 中执行此操作 这就是我正在测试的版本 问题是 每次我尝试时 它都会提示下载 我正在使用 PHP 会话 所以我知道发送了一些无关的标头 所以我调用header
  • 使用 System.IO.Ports.SerialPort 类打开串行端口时出错

    我正在尝试使用 System IO Ports SerialPort 类打开并读取串行端口 我将串行端口从工具窗格 Visual Studio 2008 拖到我的 Windows 窗体应用程序上 我已经设置了属性网格 因此我可以在运行时轻松
  • Flutter:如何防止设备方向改变并强制纵向?

    我想阻止我的应用程序改变其方向并强制布局坚持 纵向 在 main dart 中 我放置了 void main SystemChrome setPreferredOrientations DeviceOrientation portraitU
  • 如何在 JVM 上确定任意格式(JPEG、PNG 等)图像文件的尺寸?

    我想浏览一个目录并挑选出所有图像 然后根据它们的尺寸执行一些操作 有哪些库可供我执行此操作 我正在 Clojure 中工作 但 JVM 上可用的任何东西都是公平的 提前致谢 with open r java io FileInputStre
  • 释放 malloc 失败

    我有这样的东西 char temp xyz temp char malloc sizeof somestring xyz char malloc sizeof temp xyz strrchar temp temp does not con