char 数组的问题 = char 数组

2024-02-09

I have:

char message1[100];
char message2[100];

当我尝试做的时候message1 = message2,我收到错误:

分配给类型时不兼容的类型‘char[100]’从类型‘char *’

我有类似的功能

if(send(clntSocket, echoBuffer, recvMsgSize, 0) != recvMsgSize){
   DieWithError("send() failed")
}

其间。这些会不会把事情弄乱? :(

我有一种感觉也许你做不到=在字符数组或其他东西上,但我环顾四周,找不到任何东西。


You 无法将任何内容分配给 C 中的数组变量 http://c-faq.com/aryptr/arraylval.html。它不是“可修改的左值”。从规格来看,§6.3.2.1 左值、数组和函数指示符:

An lvalue是一个具有对象类型或不完整类型的表达式void;如果左值在求值时未指定对象,则行为未定义。当一个对象被认为具有特定类型时,该类型由用于指定该对象的左值指定。 A可修改的左值是一个左值,不具有数组类型,不具有不完整类型,不具有 const 限定类型,并且如果它是结构或联合,则不具有任何成员(递归地包括所有包含的聚合或联合)具有 const 限定类型。

您收到的错误消息有点令人困惑,因为表达式右侧的数组在赋值之前衰减为指针。你所拥有的在语义上等同于:

message1 = &message2[0];

这给出了右侧类型char *,但由于您仍然无法将任何内容分配给message1(这是一个数组,输入char[100]),您会收到所看到的编译器错误。您可以使用以下方法解决您的问题memcpy(3) http://linux.die.net/man/3/memcpy:

memcpy(message1, message2, sizeof message2);

如果你真的想使用=出于某种原因,您可以在结构内部使用数组...但这并不是真正推荐的方法。

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

char 数组的问题 = char 数组 的相关文章

  • 在 PHP 中使用数组来比较用户名/密码

    我有以下 php 脚本 其中有一个用户名和密码 Username user1 Password pass1 if isset POST submitform Clean up the input values foreach POST as
  • c# 从另一个类中的另一个静态事件引发事件

    需要帮助从另一个班级调用事件 我有已声明事件的课程 public class MxPBaseGridView GridView public event AddNewItemsToPopUpMenuEventHandler AddNewIt
  • 锁定 ASP.NET 应用程序变量

    我在 ASP NET 应用程序中使用第三方 Web 服务 对第 3 方 Web 服务的调用必须同步 但 ASP NET 显然是多线程的 并且可能会发出多个页面请求 从而导致对第 3 方 Web 服务的同时调用 对 Web 服务的调用封装在自
  • 叮当错误?命名空间模板类的朋友

    以下代码在 clang 下无法编译 但在 gcc 和 VS 下可以编译 template
  • 并行化斐波那契序列生成器

    我正在学习并行化 在一项练习中 我得到了一些我应该提高性能的算法 其中之一是斐波那契数列生成器 array 0 0 array 1 1 for q 2 q lt MAX q array q array q 1 array q 2 我怀疑 这
  • 异常堆栈跟踪不显示抛出异常的位置

    通常 当我抛出异常 捕获它并打印出堆栈跟踪时 我会看到抛出异常的调用 导致该异常的调用 导致该异常的调用that 依此类推回到整个程序的根 现在它只向我显示异常所在的调用caught 而不是它所在的地方thrown 我不明白是什么改变导致了
  • Java:不使用 Arrays.sort() 对整数数组进行排序

    这是我们 Java 课程的练习之一中的说明 首先 我想说我 做了我的功课 我不仅仅是懒惰地请 Stack Overflow 上的人帮我回答这个问题 在所有其他练习中 这个特定项目一直是我的问题 因为我一直在努力寻找 完美的算法 编写JAVA
  • 为什么需要数字后缀?

    C 语言 我确信还有其他语言 需要在数字文字末尾添加后缀 这些后缀指示文字的类型 例如 5m是一个小数 5f是一个浮点数 我的问题是 这些后缀真的有必要吗 或者是否可以从上下文中推断出文字的类型 例如 代码decimal d 5 0应该推断
  • 将日期时间转换为指定格式

    我有这个日期格式yy MM dd HH mm ss ex 12 02 21 10 56 09 问题是 当我尝试使用以下代码将其转换为不同格式时 CDate 12 02 21 10 56 09 ToString MMM dd yyyy HH
  • C# 编译器数字文字

    有谁知道 C 编译器数字文字修饰符的完整列表 默认情况下 声明 0 使其成为 Int32 声明 0 0 使其成为 Double 我可以在末尾使用文字修饰符 f 来确保某些内容被视为 Single 例如像这样 var x 0 x is Int
  • 如何在win32中使用GetSaveFileName保存文件?

    我编写此代码是为了获取 fileName 来保存我的文件 include stdafx h include
  • 用于连接 DataTable 上的动态列的动态 LINQ

    我目前遇到的情况不确定如何继续 我有两个从数据库填充的数据表 我还有一个可用的列名称列表 可用于将这两个数据表连接在一起 我希望编写一组 LINQ 查询 这些查询将 显示两个数据表中的行 内部联接 用于从一个数据表更新另一个数据表 显示一个
  • Xamarin - SignalR 挂在连接上

    我正在尝试将我的 Xamarin 应用程序连接到托管在 Azure 上的 SignalR 后端 我遇到的问题是每次我在 HubConnection 上调用 StartAsync 时 它都会挂起客户端并且请求永远不会完成 我尝试通过应用程序进
  • 使用多线程进行矩阵乘法?

    我应该使用线程将两个矩阵相乘 有两件事 当我运行程序时 我不断得到 0 我还收到消息错误 对于每个错误 它在粗体行上显示 警告 从不兼容的指针类型传递 printMatrix 的参数1 我尝试打印输出 还要注意 第一个粗体块 这是我解决问题
  • C# 中的 C/C++ 代码编译器

    在 C 中 我可以使用下面的代码编译 VB 和 C 代码 但无法编译 C C 代码 有什么办法可以做到这一点吗 C 编译器 public void Compile string ToCompile string Result null st
  • 为什么 f(i = -1, i = -1) 是未定义的行为?

    我正在读关于违反评估顺序 http en cppreference com w cpp language eval order 他们举了一个令我困惑的例子 1 如果标量对象上的副作用相对于同一标量对象上的另一个副作用是无序的 则行为未定义
  • C 中使用 getrandom 实现随机浮点数

    我试图生成一个介于 0 和 1 之间的随机浮点数 无论是在 0 1 还是 0 1 对我来说都不重要 网上关于此的每个问题似乎都涉及rand 呼叫 播种time NULL 但我希望能够每秒多次调用我的程序 并每次都获得不同的随机数 这引导我找
  • Linq.Select() 中的嵌套表达式方法调用

    I use Select i gt new T 每次手动点击数据库后将我的实体对象转换为 DTO 对象 以下是一些示例实体和 DTOS 用户实体 public partial class User public int Id get set
  • 如何在c linux中收听特定接口上的广播?

    我目前可以通过执行以下操作来收听我编写的简单广播服务器 仅广播 hello int fd socket PF INET SOCK DGRAM 0 struct sockaddr in addr memset addr 0 sizeof ad
  • 为什么表达式 a = a + b - ( b = a ) 在 C++ 中给出序列点警告?

    以下是测试代码 int main int a 3 int b 4 a a b b a cout lt lt a lt lt a lt lt lt lt b lt lt b lt lt n return 0 编译此命令会出现以下警告 gt g

随机推荐

  • 如何解决“未捕获的类型错误:将循环结构转换为 JSON”

    我正在执行一个网页 但在控制台上检查它时显示以下错误 未捕获的类型错误 将循环结构转换为 JSON console log JSON stringify physicianInfo Ext Ajax request async true u
  • Netbeans 可以在特定虚拟机中运行项目吗?

    我的 Win7 系统上安装了 64 位 Java 7 JDK 然而 我正在从事的项目之一需要调用一些古老的 C DLL 通过 JNI 而我只有 32 位版本 如果我尝试在 64 位 JVM 中运行它 我会收到错误 无法在 AMD 64 位平
  • EXCEL 应用程序窗口未在 workbook.close() 上关闭

    当我使用打开工作簿时 wbTest xlwings Book test xlsm EXCEL 应用程序打开并显示工作簿 但是当做一个 wbTest close 之后 工作簿关闭 但 EXCEL 窗口保持打开状态 因此我必须手动关闭它 即使x
  • 如何在jquery中通过url发送json并在下一个html页面上解析它?

    我想通过 url 将 json 数据发送到下一个 html 页面 我通过模拟器检查了它 因为我正在为移动应用程序工作 网址无法重定向到下一页 它目前正在崩溃 这背后的原因是什么 我如何在下一页解析它 我是 jquery 新手 有什么想法吗
  • 如何将我们自己的选项添加到“使用完成操作”菜单

    我想从 使用完成操作 弹出菜单运行我的应用程序 我创建了一个小应用程序 它是 文件编辑器 当我单击任何文件管理器中的任何 txt 文件时 我希望我的应用程序也位于 使用 popmp 菜单完成操作 中 您需要向 Android manifes
  • 在 Ubuntu 20.04 上设置 ONNX 运行时(C++ API)

    我目前正在尝试让我的图像处理程序在 Ubuntu 来自 Windows 上运行 我已经成功构建并链接了 OpenCV 和 Boost 库以与我的 cpp 程序一起使用 但是我还没有找到任何关于在 Ubuntu 20 04 上设置 Onnx
  • r动画,参数曲线

    我正在使用动画包来绘制参数曲线 x sin t 和 y sin t 2 以及使用以下代码追踪曲线的圆 require animation x lt seq 1 1 length 20 y lt x 2 plot x y type l lib
  • execve("/bin/sh", 0, 0);在管道中

    我有以下示例程序 include
  • 从私有 Docker 注册表中删除镜像的方法

    我设置了一个私有 Docker 注册表 并且我已将其他计算机上的一些映像推送到此注册表 它是一个 V2 注册表 我不知道从存储库中删除图像的新方法 因为这些推送的图像没有在 CLI 中列出 docker 图像 谁能建议我从磁盘中删除这些图像
  • 为 302 重定向到的另一个域设置 cookie

    这个问题比其他任何问题都更像是一个现实检验 我很确定这是可能的 但想确定一下 我正在编写一个代理服务器 它接收 HTTP 请求 将它们传递到远程服务器 然后返回远程服务器的响应 我遇到了一个问题 远程服务器响应之一是设置 cookie 的
  • _popen: 不显示 shell 窗口 (SW_HIDE)

    当我在 c mfc 中执行 popen 命令时 它会打开一个我不喜欢的 shell 窗口 是否可以将其隐藏 例如 当您尝试使用 ShellExecute 函数执行命令时 它可以选择使用 SW HIDE 隐藏 shell 窗口 注释来自文档
  • 如何从 django 的查询集中排除非活动用户

    我想从我的项目中排除非活跃用户 example 1 url users 1 friends will show all friends of that user 我想只显示朋友列表中的活跃用户 example 2 url users 1 f
  • 如何在 iOS 上开始使用 ARM?

    只是好奇如何开始了解 iOS 下的 ARM 任何帮助都会非常好 在我看来 最好的开始方式是 编写 C 代码小片段 后来的 Objective C 查看对应的汇编代码 找出足以理解汇编代码的内容 Repeat 为此 您可以使用 Xcode 创
  • 为什么即使在使用异步等待多个调用后仍然得到空响应?

    这是简单的节点路由 其中 调用异步api 需要做的是return data循环之后 但它返回空白对象 try const array brunch lunch crunch const data array map async d gt c
  • 如果广度优先搜索 (BFS) 可以更快地完成同样的事情,为什么还要使用 Dijkstra 算法呢?

    两者都可用于从单一源查找最短路径 BFS运行在O E V 而 Dijkstra 运行O V E log V 另外 我见过 Dijkstra 在路由协议中的使用很像 因此 如果 BFS 可以更快地完成同样的事情 为什么还要使用 Dijkstr
  • 比较同一目录中的文件

    我们有 20 个文件 名为file txt全部在一个目录中 file1 txt file2 txt file20 txt 在同一目录中 我们还有其他文件 我们需要忽略它们 someotherfile csv somemore txt etc
  • 无法连接到任何指定的 MySQL 主机

    问题就在这里 我正在尝试执行查询及其抛出和异常connection Open 奇怪的是 在同一个应用程序上我正在执行 选择 查询并且它工作正常 但是当我执行 更新 查询时 它会抛出 无法连接到任何指定的 MySQL 主机 错误 一直卡在这上
  • 如何在 nginx 中配置重定向到带有斜杠的 url?

    我想将不带斜杠的 URL 重定向到带尾部斜杠的路径 所以 一些 url to 一些网址 其余的 URL 例如 some url xml 某个网址 some url q v 一些网址 应该保持不变 我找到了这篇文章https www atea
  • Grails 自动重新加载新的控制器操作

    I ve 创建了新的 Grails 2 4 3 项目 created TestController set grails reload enabled true in BuildConfig groovy 运行应用程序grails relo
  • char 数组的问题 = char 数组

    I have char message1 100 char message2 100 当我尝试做的时候message1 message2 我收到错误 分配给类型时不兼容的类型 char 100 从类型 char 我有类似的功能 if sen