C++BUG: [Error] invalid array assignment

2023-11-13

1. Introduction

在使用数组给数组赋值时,会出现以上bug。大致的栗子如下:

while(!student.eof()){
        SS[j].name=stud.name;//报错!
        SS[j].ID=stud.ID;
        SS[j].score=stud.score;
        j++;
    }

目的是将数据存储到结构体数组对象SS[j]中,但是这样赋值会报错。

2. memcpy()

函数原型

void *memcpy(void*dest, const void *src, size_t n);

功能

由src指向地址为起始地址的连续n个字节的数据复制到以destin指向地址为起始地址的空间内。

头文件

C语言中使用#include <string.h>;

C++中使用#include <cstring>和#include <string.h>都可以

返回值

函数返回指向dest的指针。

与strcpy的区别

1.与strcpy相比,memcpy并不是遇到’\0’就结束,而是一定会拷贝完n个字节。因此需要格外注意内存溢出。
2.memcpy用来做内存拷贝,可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;注意,source和destin都不一定是数组,任意的可读写的空间均可;
然而,strcpy就只能拷贝字符串了,它遇到’\0’就结束拷贝。

实例

  • 用于二维数组
int main(void)
{
    int src[][3]={{1,2,3},{4,5,6},{7,8,9},{1,2,3},{4,5,6},{7,8,9}};  
    int des[6][3]={0};//要小心,行数固定
    memcpy(des,src,sizeof(src)); //小心内存溢出
    return 1;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++BUG: [Error] invalid array assignment 的相关文章

随机推荐

  • centos安装docker后,ping不能服务器ip

    工作中碰的问题 记录下解决过程 问题描述 2台内网服务器 A 172 20 72 77 和B 172 17 3 222 在A服务上ping B 安装 docker之前是可以ping通 安装docker之后确ping不通了 查找原因 在安装d
  • Ajax定时调用封装

    var dataUpload ajax请求数据 method function murl mdata method time1 time2 success 首次读取 setTimeout function aJax time1 定时读取函数
  • Vue3.2中使用swiper实现层叠式轮播图

    介绍 在 vue3 中使用 swiper 实现缩略图的轮播图效果 具体如下图所示 代码
  • tensorflow2调用huggingface transformer预训练模型

    tensorflow2调用huggingface transformer预训练模型 一点废话 huggingface简介 传送门 pipline 加载模型 设定训练参数 数据预处理 训练模型 结语 一点废话 好久没有更新过内容了 开工以来就
  • python爬取美女_知乎大神用Python爬取高颜值美女(Python爬虫+人脸检测+颜值检测)...

    import time import os import re import requests from lxml import etree from aip import AipFace 百度云 人脸检测 申请信息 唯一必须填的信息就这三
  • 对List集合进行自定义规则排序

    这次的场景是要对一个List lt 对象 gt 中的某个属性进行自定义排序 废话不多说 直接上代码 首先你要自定义一个排序规则 比如下面这种 public class MySort public static final HashMap
  • 西普部分CTF题目(web)(持续更新)

    1 菊花 题目地址 http www simplexue com ctf examctfdetail 729 点击 我是吊死 进入sim php页面 post参数为id 提示需要net framework 9 9 用burp拦截 修改use
  • JS 实现抛物线动画案例

    相信大家都有浏览过 很多购物网站购物车的添加商品动画 今天 我们就手写一个简单的抛物线动画 先上案例 一 绘制页面 我们这里简单实现 一个按钮 一个购物车图标 样式这里直接跳过 最终dom结构 div class container div
  • eclipse 编译dubbo2.8.4 源码

    第一步 准备工作 下载dubbox的源代码 下载地址 https github com dangdangdotcom dubbox 第二步 编译源代码 maven编译工具 打开CMD命令窗口 切换到dubbox源代码的所在文件夹 E wor
  • Java——数据结构之顺序表

    文章目录 Java 数据结构之顺序表 1 顺序表的简单了解 2 接口的实现 1 创建初始变量 2 打印顺序表 3 添加元素 4 判断是否包含元素 5 查找元素的下标 6 获取 pos 位置的元素 7 更新pos 位置的元素值 8 删除元素
  • pip install报错 [ImportError]: DLL load failed while importing _socket:参数错误

    pip install 时报错 ImportError DLL load failed while importing socket 参数错误 开始以为是虚拟环境的问题 换了虚拟环境还是不行 百度到了解决办法 Win7系统需要安装KB253
  • Spring系列——Spring MVC配置文件

    Spring系列 Spring MVC配置文件 一 前端控制器DispatcherServlet 二 RequestMapping注解 1 使用方法 1 1 标注在方法上 1 2 标注在类上 2 RequestMapping注解的属性 3
  • 机器视觉入门之路(三九--A,霍夫变换(hough transform)寻找直线,c++)

    xy坐标系直线 y kx b 请看图 假定红色线段上的所有样本点 100个 都满足上面的直线方程 a图 也就是说 红色的点 x1 y1 x2 y2 x3 y3 x98 y98 x99 y99 x100 y100 带入方程 只能求出一个k值和
  • Redis入门(一)

    第1章 NoSQL 1 1 NoSQL数据库 1 1 1 NoSQL是什么 1 NoSQL Not Only SQL 意即 不仅仅是SQL 泛指非关系型的数据库 2 NoSQL不拘泥于关系型数据库的设计范式 放弃了通用的技术标准 为某一领域
  • 圆相交 马蹄集

    圆相交 难度 白银 0时间限制 1秒 巴占用内存 64M 输入2个圆的圆心的坐标值 x y 和半径 判断2个圆是否相交 输出YES或者 NO 格式 输入格式 输入整型 空格分隔 每行输入一组信息 输出格式 输出YES或者NO Created
  • 《计算机组成原理实验》 多周期CPU

    计算机组成原理实验 多周期CPU 前言 这是中山大学2018年计算机组成原理实验中多周期CPU的实验报告 仿真与写板的内容暂略 所有源代码 包括写板 已经上传至我的github当中 欢迎大家访问 github个人主页 https stara
  • wxWidgets多线程及事件传递

    前言 最近忙着写项目 wxWidgets计划还有wxWidgets日志系统的拦截重定向 剩下一些比较杂的知识点 想到哪写到哪 比如进程间通信 调用外部程序后结束本程序 用于升级程序 集成带窗口的ActiveX 创建单进程程序等 这些文档上基
  • 分享66个HTML&CSS源码,总有一款适合您

    HTML CSS源码 分享66个HTML CSS源码 总有一款适合您 下面是文件的名字 我放了一些图片 文章里不是所有的图主要是放不下 大家下载后可以看到 源码下载链接 https pan baidu com s 1AeVqON7byvt
  • 常用的HDFS操作

    常用的HDFS操作 利用Hadoop提供的shell命令完成任务 1 向HDFS中上传任意文本文件 如果指定的文件在HDFS中已经存在 由用户指定是追加到原有文件末尾还是覆盖原有文件 2 从HDFS中下载指定文件 如果本地文件与要下载的文件
  • C++BUG: [Error] invalid array assignment

    C BUG Error invalid array assignment 1 Introduction 2 memcpy 函数原型 功能 头文件 返回值 与strcpy的区别 实例 1 Introduction 在使用数组给数组赋值时 会出