C++BUG: [Error] invalid array assignment
2020-07-30 15:32
399 查看
C++BUG: [Error] invalid array assignment
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; }
相关文章推荐
- [Vue warn]: Error in render: "RangeError: Invalid array length" ,RangeError: Invalid array length(…)
- jquery 修改父节点的class 报错ReferenceError: Invalid left-hand side in assignment
- Uncaught ReferenceError: Invalid left-hand side in assignment
- BUG InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'Pl
- Uncaught ReferenceError: Invalid left-hand side in assignment
- C++ TR1: array VS 2008 Bug
- vs2005 c++ heap使用push_head()异常invalid heap(bug)
- 使用RadUpload控件上传大文件时出现如下bug,请大虾帮忙解决下RadUpload Ajax callback error.Source url returned invalid content
- Syntax error on token "&&", invalid AssignmentOperator
- BUG: "Old format or invalid type library" error when automating Excel on 64 bit server 2008
- 关于 Bug ArrayIndexOutOfBoundsException: com.intellij.ide.errorTreeView.ErrorViewTreeBuilder
- ReferenceError: Invalid assignment left-hand side
- 「caffe编译bug」python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: No such file or directo...
- Uncaught RangeError: Invalid array length 问题解决
- C++ Error: free(): invalid next size (fast):
- C++ buider error creating form : Invalid stream format
- c++创建线程的常见问题:error: invalid conversion from 'void*' to 'void* (*)(void*)'
- Misleading error message in PowerShell script: "Invalid assignment expression. The left hand side of an assignment operator need
- 118 js Uncaught ReferenceError: Invalid left-hand side in assignment
- [Bug fixed]UnboundLocalError: local variable 'var_Chinesename' referenced before assignment