C语言中总线:错误10是什么意思

2024-01-19

下面是我的代码

#import <stdio.h>
#import <string.h>

int main(int argc, const char *argv[])
{
    char *str = "First string";
    char *str2 = "Second string";
    
    strcpy(str, str2);
    return 0;
}

它编译得很好,没有任何警告或错误,但是当我运行代码时,出现以下错误

Bus error: 10

我错过了什么 ?


其一,您无法修改字符串文字。这是未定义的行为。

要解决这个问题,你可以做str本地数组:

char str[] = "First string";

现在,你会遇到第二个问题,那就是str不够大,无法容纳str2。所以你需要增加它的长度。否则你会超支str- 这也是未定义的行为。

为了解决第二个问题,你要么需要str至少只要str2。或者动态分配:

char *str2 = "Second string";
char *str = malloc(strlen(str2) + 1);  //  Allocate memory
//  Maybe check for NULL.

strcpy(str, str2);

//  Always remember to free it.
free(str);

还有其他更优雅的方法可以做到这一点,涉及 VLA(在 C99 中)和堆栈分配,但我不会讨论这些,因为它们的使用有些问题。


正如@SangeethSaravanaj 在评论中指出的那样,每个人都错过了#import。它应该是#include:

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

C语言中总线:错误10是什么意思 的相关文章

  • Web API 复杂参数属性均为 null

    我有一个 Web API 服务调用可以更新用户的首选项 不幸的是 当我从 jQuery ajax 调用中调用此 POST 方法时 请求参数对象的属性始终为 null 或默认值 而不是传入的值 如果我使用 REST 客户端调用相同的方法 我使
  • 查找周边上的点来表示边界/形状

    我有一个简单的二维网格 其格式为myGrid x y 我正在尝试找到一种方法来找到所选网格周围的周长 这样我就有了所选网格的形状 这是我的意思的一个例子 这里的想法是找到所有相关的 角点 也就是图像周边的红点 放入一个列表中 这样我就可以从
  • 本机 C++ 通过代理 C++ 托管 dll 使用 C# dll

    这相当复杂 所以请耐心听我说 我有一个用本机 仅限 Win32 C 编码的第 3 方程序 目标 作为目标设计的一部分 它实现了一个 dll 插件系统 本机 DLL 当放置在程序的 ext 目录中时 由目标加载 然后 目标根据需要调用每个 D
  • 如何使用 Regsvr32 注册 .NET COM DLL?

    我有一个使用 COM DLL 的 VB6 应用程序 该DLL是用C 编写的 在 C 项目属性中 我检查了 Register for COM interop 选项 VB6 应用程序在我的开发机器上运行良好 C 代码完全遵循以下格式 CodeP
  • 使用 boost::asio 是否有一种可移植的方法来查找空闲端口号

    我目前正在尝试找出一种方法来查找空闲端口号以建立连接 最好使用 boost asio 然后 该端口号将用于侦听 只有这样我才能打开套接字 大致来说 有没有办法做到 tcp resolver query query localhost por
  • 带有 Prism 区域适配器的 AvalonDock

    我看到了一些关于 SO 的问题 但似乎没有一个适合我 我希望能够使用伟大的使用 Prism 4 但是 所有示例区域适配器均适用于 Avalondock 1 x 系列 我无法使其工作 有人有关于如何为 AvalonDock 的 LayoutD
  • 从动态服务器中抓取 html 列表数据

    哈喽大家好 抱歉提出转储问题 这是我最后的手段 我发誓我尝试了无数其他 Stackoverflow 问题 不同的框架等 但这些似乎没有帮助 我有以下问题 一个网站显示一个数据列表 前面有大量的 div li span 等标签 它是一个很大的
  • DLR 返回类型

    我需要 DLR 的帮助 我正在实现 IDynamicMetaObjectProvider 和 DynamicMetaObject 但在获取预期返回类型时遇到一些问题 我在元对象中覆盖 BindInvokeMember 我可以看到所有参数类型
  • 在 C# 中给定周数和年份,计算一周的开始和结束日期(基于 ISO 规范)

    我需要生成一份报告 显示一年中的 52 周 或某些年份的 53 周 及其开始日期和结束日期 有一个 ISO 规范可以做到这一点 但看起来非常复杂 我希望有人知道在 C 或 Visual Basic 中执行此操作的方法 实际上适用于 Visu
  • OpenCV:处理每一帧

    我想使用 OpenCV 编写一个跨平台应用程序进行视频捕获 在所有示例中 我发现来自相机的帧是使用抓取功能进行处理并等待一段时间 我想处理序列中的每一帧 我想定义自己的回调函数 每次当一个新帧准备好处理时都会执行该函数 例如直播对于 Win
  • 创建 PING 程序时限制 ICMP 回显答复

    我正在编写一个多线程 ping 程序 我在每个线程 针对每个 IP 上创建了原始套接字 并使用 sendto 向每个线程发送了 ICMP Echo 请求 然后在每个线程中执行了 receivevfrom 我正在从各种套接字中的 IP 获取消
  • 在 4.x 内核上的 64 位内存中查找系统调用表

    我正在尝试编写一个简单的内核模块来查找 Linux 中的 sys call table 但遇到了一些麻烦 我在这里找到了 32 位 Linux 的基本指南 https memset wordpress com 2011 03 18 sysc
  • 如何从 MongoDB 中的 ChangeStream 过滤对特定字段的更新

    我正在设置一个 ChangeStream 以便在集合中的文档发生更改时通知我 以便我可以将该文档的 LastModified 元素更新插入到事件发生的时间 由于此更新将导致 ChangeStream 上发生新事件 因此我需要过滤掉这些更新以
  • ASP.NET Core中间件如何进行DI?

    我正在尝试将依赖项注入到我的中间件构造函数中 如下所示 public class CreateCompanyMiddleware private readonly RequestDelegate next private readonly
  • 如何在 OpenCV 中删除 mouseCallback

    在使用 C 的 OpenCV 中 有没有办法删除 mouseHandler int event int x int y int flags void param 通过函数添加到窗口 image window cv setMouseCallb
  • 实例着色器矩阵的设置

    我想绘制实例立方体 我可以打电话GL DrawArraysInstanced PrimitiveType Triangles 0 36 2 成功地 我的问题是所有立方体都绘制在相同的位置和相同的旋转 我如何为每个立方体单独更改它 要创建不同
  • 以编程方式连接和断开 USB,“无需拔出和重新插入”

    我需要以编程方式连接和断开 USB 也就是说 我已经插入了USB设备 我需要使用 C NET 应用程序传输文件 该应用程序将监视特定文件夹并将文件从该文件夹传输到 USB 驱动器 我需要在文件传输后断开 USB 设备的连接 并在需要时连接
  • 所有区域的启用保护模式必须设置为相同的值(启用或禁用)

    我正在尝试使用Selenium Internet Explorer驱动程序 但当我尝试实例化它时它崩溃了 TestInitialize public void TestInitialise ieDriver new InternetExpl
  • In 和 Out 属性在 .NET 中如何工作?

    我一直在尝试跨序列化数组AppDomain边界 使用以下代码 public int Read byte buffer int offset int count return base Read buffer offset count 作为猜
  • 如何获取打印机设备上下文?

    我在 Windows 上尝试使用以下命令打印增强型图元文件 EMF 播放增强元文件 http msdn microsoft com en us library dd162800 28VS 85 29 aspx 我当前正在使用屏幕上窗口的设备

随机推荐

  • 停止ListView滚动动画

    我有一个ListView大约有 100 个条目 当用户从下到上 快速滑动 时 它会开始滚动 并且即使手指不再触摸显示屏也会继续滚动 有没有办法让滚动动画此时停止 我们查找android源代码 AbsListView 给它一个ACTION C
  • 获取CUDA纹理问题

    我在获取浮动纹理时遇到问题 纹理定义如下 texture
  • iOS - 使用基本本地化窗格始终为空

    在 Xcode 中添加了两种本地化 德语和英语 我正在关注有关 Use Base Internationalization 的 Apple 文档 该文档是通过转到该项目获得的 单击Info并按下复选框 如果我这样做 它会启动一个空的窗格或页
  • RESTful API 设计:CRUD 轻量级连接的最佳方式?

    请原谅问题标题 很难总结这个问题 在 Facebook 上 您like事物 在推特上 你follow人们 在 GitHub 上 您还可以follow人们和star回购协议和要点 所有这些情况都非常相似 这些连接是轻量级的 本身并不是真正的
  • 使用现有数据结构或将其用作数据结构的Boost图

    我正在编写一个应用程序 它用类似的东西解析数据结构 struct Block std string foo even more local data std map
  • 是否可以从浏览器 URL 发出 post 请求

    我有一个网站 例如www myfirstsite com myapp 当我登录此站点时 我确实从浏览器中提取了身份验证的 POST 请求 只是一个简单的认证 认证URL不同 的过程 以及参数中的用户名和密码 用户名 abc user 密码
  • 有没有办法在不知道其深度的情况下循环遍历多维数组?

    到目前为止 如果我必须循环访问多维数组 我会对每个维度使用 foreach 循环 例如对于二维 foreach array as key gt value foreach value as k2 gt v2 echo 当我不知道数组的深度时
  • 无法使用传入消息调用 Kafka Listener 方法

    我使用 Spring Boot 应用程序在 Kafka Producer 中将其转换为 toString 来发送 JSON 数组 但在 Consumer 中收到以下错误 org springframework kafka listener
  • 开发 Android 应用程序的最佳 IDE 是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 通过 JavaScript 更改 CSS 伪元素样式 [重复]

    这个问题在这里已经有答案了 是否可以通过 JavaScript 更改 CSS 伪元素样式 例如 我想动态设置滚动条的颜色 如下所示 document querySelector editor webkit scrollbar thumb v
  • C++11 枚举类实例化

    我遇到过以下形式的枚举类变量实例化 并且它在 VS2012 下编译时没有任何警告或错误 UINT32 id enum class X apple pear orange X myX X id 此外 发送X id 作为也期望编译 X 类型参数
  • 如何在as3中实现撤消和重做功能

    我将创建一个应用程序 我必须实现一个撤消和重做特征 在应用程序中 舞台上将有多个对象 用户可以自定义 物体的位置 但是当用户单击 撤消 时 对象将恢复为默认值 位置 单击重做对象后将移动到新位置 所以我的问题是如何在我的应用程序中应用这些功
  • 当返回的列数是动态的时,如何计算MySQL查询的列数?

    是否可以检索查询返回的列数 这可以使用绑定的脚本语言 例如 php 轻松完成 但我正在寻找仅数据库的解决方案 Example CountCols SELECT a b c gt 3 CountCols SELECT FROM informa
  • EF Code First 4.3 命名约定外键

    我有以下实体 public class User public int ID get set public int GroupID get set navigation property with public Group Group ge
  • Java模板函数

    我有一个函数有时必须返回一个Date其他时候DateTime 乔达时间 static public
  • 设备重启后地理围栏在 Android 中保持活动状态吗

    我正在编写一个应用程序 当有人在安装的应用程序的生命周期内进入 退出多个站点时 需要使用地理围栏 当我第一次安装应用程序时 我的地理围栏实现 与下面的第二个链接非常相 似 一切正常 无论是移入 移出地理围栏时还是使用模拟位置来模拟它时 直到
  • Halide 与 C 布局 numpy 数组

    我开始使用 Halide 并在 Python 环境中使用它 在该 Python 环境中 数据作为 Numpy 数组传递 它实际上是其他地方定义的 C 数组的别名 但是 当我使用调用 Halide 函数时 出现错误 Constraint vi
  • 使用 python 运行时,Flask 调试模式给出“OSError: [Errno 8] Exec format error”

    所以 这是我制作的一个文件 flaskblog py from flask import Flask app Flask name app route def hello return h1 Home Page h1 这是我第一次运行它的方
  • 仿真给出了正常 for 循环与并行 For 的不同结果

    当我尝试使用普通 for 循环 这是正确的结果 与 Parallel For 时 我对一个简单模拟示例的不同结果感到有点惊讶 请帮我找出可能是什么原因 我观察到 与正常情况相比 并行执行速度非常快 using System using Sy
  • C语言中总线:错误10是什么意思

    下面是我的代码 import