在 char 指针上使用 strcpy 时程序中止? (在 char 数组上工作正常)

2023-11-25

我很困惑为什么以下不起作用:

char * f = "abcdef";
strcpy(f, "abcdef");
printf("%s",f);

char s[] = "ddd";
strcpy(&s[0], "eee");
printf("%s", s);

在这两个例子中,strcpy 都收到了一个 char *,但在第一个例子中它却死得很惨。


"abcdef" and "ddd"是可能驻留在地址空间的只读部分中的字符串文字。char s[] = "ddd"确保这个文字被复制到堆栈 - 所以它是可修改的。

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

在 char 指针上使用 strcpy 时程序中止? (在 char 数组上工作正常) 的相关文章

  • 为 DocumentDb 设置自定义 json 转换器

    我正在使用类型化 DocumentQuery 从 Azure DocumentDb 集合中读取文档 from f in client CreateDocumentQuery
  • 为什么 std::vector 可以处理类定义中的不完整类型?

    出现了以下问题 C 标准似乎说 std vector需要一个完整的类型才能工作 看https en cppreference com w cpp container vector https en cppreference com w cp
  • 非模板函数中的尾随返回类型[重复]

    这个问题在这里已经有答案了 我见过有人使用以下语法来实现函数 auto get next gt int 代替 int get next 我理解两者 并且我知道尾随返回类型语法对于使用 decltype 的模板代码很有用 就我个人而言 我会避
  • 使用 POST 的 HttpWebRequest 的性能

    我有一个用于测试网络服务的小工具 它可以使用 POST 或 GET 调用 Web 服务 使用POST的代码是 public void PerformRequest WebRequest webRequest WebRequest Creat
  • 如何在 C++ 中为指针“this”赋值

    在函数中 如何分配this一个新的价值 您可以分配对象this点于 this XY 但你不能分配直接值this this XY Error Expression is not assignable
  • 如何以编程方式删除受信任的根证书颁发机构中的证书?

    我需要能够从组织中的每台电脑中删除特定的证书 是的 我可以逐个座位 但我要到周四才能完成 而且我没有人力逐个座位 是否有使用 C 的编程方式来执行此操作 我认为你不需要编写任何 C 看看certmgr exe del http msdn m
  • 在 C# 中解析 JS Date.toIsoString

    我需要将 JS 日期存储为 ISO 8601 日期 我目前正在从格式为 2019 06 22T00 00 00 000Z 的表单中获取日期 正如 JS 的 toIsoString 方法所期望的那样 当这个日期传递到我的 API 控制器时 我
  • 维护 VS Test Project 中单元测试方法之间的上下文

    我想按顺序运行以下单元测试 使用随机数字的名称 密码等创建新客户 检索刚刚创建的客户并断言其属性包含相同的随机数 对同一用户调用 ForgotPassword 函数 并使用相同的随机数作为用户名 清楚地看到 我需要生成一次随机数 并在 3
  • 大量互斥体对性能的影响

    假设我有一个包含 1 000 000 个元素的数组 以及多个工作线程 每个线程都操作该数组中的数据 工作线程可能会使用新数据更新已填充的元素 但每个操作仅限于单个数组元素 并且独立于任何其他元素的值 使用单个互斥锁来保护整个数组显然会导致高
  • 使用任一默认捕获模式时,这是通过复制捕获还是 (*this) 通过引用捕获?是一样的吗?

    当我看到以下工作时我有点困惑 struct A void g void f g 但后来我发现this https stackoverflow com a 16323119 5825294答案非常详细地解释了它是如何工作的 本质上 它归结为t
  • C# 可以为控制台应用程序部分类“程序”类吗?

    我想知道是否可以将为任何控制台应用程序创建的默认 程序 类更改为部分类 我想这样做是因为我想要更好的组织 而不是将所有方法都放在按区域分类的 1 个文件中 对我来说 将某些方法类别放在单独的文件中会更有意义 我对分部类的理解是 它是多个文件
  • 如何在Windows窗体中打开进程

    我想在我的 Windows 窗体应用程序中打开进程 例如 我希望当用户按下 Windows 窗体容器之一中的按钮时 mstsc exe 将打开 如果他按下按钮 它将在另一个容器上打开 IE DllImport user32 dll SetL
  • MPI - 发送和接收列

    我需要从一个进程发送矩阵列并从另一个进程接收它 我尝试运行以下程序 但得到了一个奇怪的结果 至少我这么认为 仅复制矩阵的第一个元素 某些矩阵元素会发生意外变化 include
  • 具有多个父项的 Qt 树模型

    我想构建一棵树 其中一个元素可以引用另一个元素 我想要构建的树是 像这样的东西 A B C D E F P this is a pointer to C D first child of C E second child of C I fo
  • g++ / gcc 是否支持 C++20 新的atomic_flag 功能?

    根据参考参数 https en cppreference com w cpp atomic atomic flag c 20 有丰富的 对我来说有用的 支持atomic flag运营 然而 目前尚不清楚 gcc 是否支持这些功能 它们在任何
  • 让 Windows 尝试读取文件

    我正在对 Windows 文件系统进行某种封装 当用户请求打开文件时 Windows 调用我的驱动程序来提供数据 在正常操作中 驱动程序返回缓存的文件内容 但是 在某些情况下 实际文件没有缓存 我需要从网络下载它 问题是是否有可能让 Win
  • 如何防止 Lotus Notes 用户转发或复制通过 System.Net.Mail 发送的邮件?

    我想使用 SMTP 客户端 uiing microsft net 以 C 作为编程语言发送电子邮件 但是对于通过SMTP客户端发送的电子邮件 我们是否可以添加 禁止转发 或 禁止复制 等安全功能 我不希望电子邮件的收件人转发或复制电子邮件的
  • 异步/等待 - 是*并发*吗?

    我一直在考虑 C 5 中新的异步内容 并且出现了一个特殊问题 据我了解 await关键字是一个简洁的编译器技巧 语法糖来实现连续传递 http en wikipedia org wiki Continuation passing style
  • 跟踪白色背景中的白球(Python/OpenCV)

    我在 Python 3 中使用 OpenCV 来检测白场上的白 黑球 并给出它的精确 x y 半径 和颜色 我使用函数 cv2 Canny 和 cv2 findContours 来找到它 但问题是 cv2 Canny 并不总是检测到圆的完整
  • Adobe Illustrator 中的折线简化如何工作?

    我正在开发一个记录笔划的应用程序 您可以使用定点设备来绘制笔划 在上图中 我绘制了一个笔划 其中包含 453 个数据点 我的目标是大幅减少数据点的数量 同时仍然保持原始笔画的形状 对于那些感兴趣的人 上图笔画的坐标可以作为GitHub 上的

随机推荐

  • 在 select2 多选中加载值

    我在用着select2代替搜索框 在这里我用来加载这样的国家值 countries select2 multiple true tags India Japan Australia Singapore tokenSeparators 当我按
  • AngularJS/Jade 错误:参数“MyController”不是函数,未定义(MEAN)

    我知道这个问题的变体已经被问过好几次了 但是我已经尝试了其他OP的几种建议解决方案 但无法解决这个问题 并且希望得到一些澄清 我正在使用基本的平均待办事项列表应用程序 http www mean io 实现一个简单的控制器后 我遇到了 错误
  • 我可以在 jQuery 模板中声明本地/临时变量吗?

    是否可以在 jQuery 模板语法中声明新变量 我希望能够达到与此相当的效果 这不起作用 var test test div test div 我知道这已经得到回答并接受 但这是另一个解决方案 data localVariable SOME
  • 为什么我通过 spawn() 创建的 Node 子进程挂起?

    我正在使用 spawn 进行 git 调用 有时它工作正常 但有时它似乎挂起 我没有看到任何事件触发 错误 退出 关闭 但我看到有证据表明该过程实际上已成功完成 var spawn require child process spawn s
  • 无法将内容添加到新的 Plone 站点:ValueError:无法找到 update_version_before_edit 异常

    刚刚使用统一安装程序在 CentOs 上成功安装了 Plone 4 2 1 登录后我无法添加任何内容 我收到以下错误 Traceback innermost last Module ZPublisher Publish line 126 i
  • 如何识别 DLL 是调试版本还是发布版本(在 .NET 中)[重复]

    这个问题在这里已经有答案了 可能的重复 如何判断 NET 应用程序是在 DEBUG 还是 RELEASE 模式下编译的 我确信以前有人问过这个问题 但是谷歌和SO搜索让我失败了 如何识别 DLL 是发布版本还是调试版本 恕我直言 上述应用程
  • Maven 3.0 的“mvn release:perform”不喜欢不在 git repo 根目录中的 pom.xml

    我有一个关于 Maven maven release plugin git 集成 pom xml 以及将 pom xml 放在存储库本地副本的子目录而不是根目录中的问题 这是设置 我有一个 github 帐户 其中私人存储库数量有限 我想
  • 表单 ModelChoiceField 查询集 + 额外的选择字段 django 表单

    我正在尝试创建一个表单 其中 ModelChoiceField 从查询集加载 并且我想向 ModelChoiceField 添加一些自定义值以进行扩展 我使用了选择字段 如下所示 但在更新表单时 出现以下错误 表格错误 选择一个有效的选择
  • 在 Perl 中查找两个等长字符串之间差异的快速方法

    给定像这样的字符串对 my s1 ACTGGA my s2 AGTG A Note the string can be longer than this 我想在其中找到职位和性格 s1它的不同之处在于 s2 在这种情况下 答案是 Strin
  • 带有 angularjs 的动态子域

    我是 Angularjs 新手 我想添加动态子域 例如sub domain com 通过更改 sub 我将能够从服务器请求正确的数据 但是 主页仍然是相同的 sub1 domain com and sub2 domain com将会有相同的
  • 使用未部署在 Azure 中的应用程序访问 Azure Key Vault 存储的机密

    我在大多数文章中读到 需要在 Azure 中部署应用程序 以便应用程序能够以编程方式访问存储在 Azure Key Vault 中的机密 有没有办法不在 azure 中部署应用程序 但仍然能够使用客户端 ID 和客户端密钥或证书访问 Azu
  • iOS 应用程序设置包

    在项目中使用Apple的设置捆绑包 是否可以仅在满足另一个设置条件时才向用户公开某些设置 例如 我有一个切换开关 如果用户在 设置 应用程序中将选择切换为 False 我想显示一个他们可以填写的文本框 如果切换为 true 我想隐藏该文本框
  • iOS 9.3 调用 openURL 后冻结

    我的应用程序在调用后冻结openURL在 iOS 9 3 上构建 13E233 和 13E234 我尝试使用dispatch after但这并不能解决问题 这是代码 没什么特别的 void someMethod UIView senderV
  • 在 cloud init runcmd 中使用管道失败

    如何使用管道来重定向命令的输出runcmd我的云初始化脚本的一部分 以下失败 runcmd curl sk https example com packages current install bash bin bash s agent c
  • 如何使用Java获取客户端的LAN IP?

    如何使用 Java 获取计算机的 LAN IP 地址 我想要连接到路由器和网络其余部分的 IP 地址 我尝试过这样的事情 Socket s new Socket www google com 80 String ip s getLocalA
  • Scrapy延迟请求

    每次我运行我的代码时 我的IP都会被禁止 我需要帮助将每个请求延迟 10 秒 我尝试将 DOWNLOAD DELAY 放入代码中 但没有给出任何结果 任何帮助表示赞赏 item class included here class DmozI
  • 在 Bash 中提取子字符串

    给定表格中的文件名someletters 12345 moreleters ext 我想提取5位数字并将它们放入一个变量中 因此 为了强调这一点 我有一个包含 x 个字符的文件名 然后是一个五位数字序列 两侧各有一个下划线 然后是另一组 x
  • 右移开头为零

    我正在尝试做一种左移 在开头添加零而不是一个 例如 如果我左移0xff 我明白了 0xff lt lt 3 11111000 但是 如果我右移它 我会得到 0xff gt gt 3 11111111 我可以使用任何操作来获得相当于左移的效果
  • 尝试部署到 heroku 时找不到文件(在本地工作)

    我正在尝试将我的应用程序部署到 Heroku 它可以在本地运行 但在网上却没有运气 我删除并重新安装了节点模块 我遇到了另一个与此非常相关的错误 文件未找到相同的名称等 我更改了相对路径 认为可以解决问题 但我没有从中得到任何结果 错误是
  • 在 char 指针上使用 strcpy 时程序中止? (在 char 数组上工作正常)

    我很困惑为什么以下不起作用 char f abcdef strcpy f abcdef printf s f char s ddd strcpy s 0 eee printf s s 在这两个例子中 strcpy 都收到了一个 char 但